diff options
Diffstat (limited to 'libarmep/sample.c')
-rw-r--r-- | libarmep/sample.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libarmep/sample.c b/libarmep/sample.c index 320bfd9..f44e61b 100644 --- a/libarmep/sample.c +++ b/libarmep/sample.c @@ -77,6 +77,9 @@ int process_sample(struct aep *aep, int ch_index) struct aepd_interface *aepd_interface; struct aepd_interface_result *aepd_interface_result; + if (!ch->flag_was_configured) + goto done; + if (!aep->aep_context->no_correction) { vo0 = ch->voffset[0]; vo1 = ch->voffset[1]; @@ -158,7 +161,7 @@ unripe: ch->trigger_slave = who_triggered; else { who_triggered = ch; - somebody_triggered = ch->samples_seen; + somebody_triggered = ch->samples_seen; } ch->triggered = 1; ch->simple_avg[0] = 0; @@ -278,7 +281,10 @@ unripe: if (!aep->aep_context->aeps[m].fd) continue; for (i = 0; i < CHANNELS_PER_PROBE; i++) { - if (aep->aep_context->aeps[m].ch[i].out_head == aep->aep_context->aeps[m].ch[i].out_tail) + if (!aep->aep_context->aeps[m].ch[i].flag_was_configured) + continue; + if (aep->aep_context->aeps[m].ch[i].out_head == + aep->aep_context->aeps[m].ch[i].out_tail) goto done; hit++; } @@ -301,6 +307,8 @@ unripe: for (i = 0; i < CHANNELS_PER_PROBE; i++) { ich = &aep->aep_context->aeps[m].ch[i]; + if (!ich->flag_was_configured) + continue; v1a = ich->out_ring[0][ich->out_tail]; v2a = ich->out_ring[1][ich->out_tail]; |