File tree Expand file tree Collapse file tree 1 file changed +23
-2
lines changed Expand file tree Collapse file tree 1 file changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -545,9 +545,30 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
545545
546546static 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}
You can’t perform that action at this time.
0 commit comments