Skip to content

Commit b4f1739

Browse files
Teo Perisanuadisuciu
authored andcommitted
adalm2000: Add functionality for stopping the acquisition.
Destroy all buffers and stop the streaming mode. Signed-off-by: Teo Perisanu <[email protected]>
1 parent 51f9226 commit b4f1739

File tree

1 file changed

+23
-2
lines changed
  • src/hardware/adalm2000

1 file changed

+23
-2
lines changed

src/hardware/adalm2000/api.c

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -545,9 +545,30 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
545545

546546
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
547547
{
548-
/* TODO: stop acquisition. */
548+
struct dev_context *devc;
549+
gboolean analog_enabled, digital_enabled;
549550

550-
(void)sdi;
551+
devc = sdi->priv;
552+
553+
sr_libm2k_analog_acquisition_cancel(devc->m2k);
554+
sr_libm2k_digital_acquisition_cancel(devc->m2k);
555+
556+
analog_enabled = (adalm2000_nb_enabled_channels(sdi, SR_CHANNEL_ANALOG) > 0) ? TRUE : FALSE;
557+
digital_enabled = (adalm2000_nb_enabled_channels(sdi, SR_CHANNEL_LOGIC) > 0) ? TRUE : FALSE;
558+
559+
if (sr_libm2k_has_mixed_signal(devc->m2k)) {
560+
sr_libm2k_mixed_signal_acquisition_stop(devc->m2k);
561+
} else {
562+
if (digital_enabled) {
563+
sr_libm2k_digital_acquisition_stop(devc->m2k);
564+
}
565+
if (analog_enabled) {
566+
sr_libm2k_analog_acquisition_stop(devc->m2k);
567+
}
568+
}
569+
570+
sr_session_source_remove(sdi->session, -1);
571+
std_session_send_df_end(sdi);
551572

552573
return SR_OK;
553574
}

0 commit comments

Comments
 (0)