- // Dont bother fixing this yet, keep it "old style"
- /*
- packet.type = SR_DF_ANALOG;
- packet.length = 1024;
- packet.unitsize = sizeof(double);
- packet.payload = analog_out;
- sr_session_send(ctx->session_dev_id, &packet);
- */
-
- //printf("Send END\n");
- //packet.type = SR_DF_END;
- //sr_session_send(devc->session_dev_id, &packet);
-
- // serial_flush(devc->serial);
- // abort_acquisition(sdi);
- // serial_close(devc->serial);
-
- return FALSE;
- printf("REturn \n");
- return TRUE;
+ devc->num_samples += 1024;
+
+ if (devc->limit_samples && devc->num_samples >= devc->limit_samples) {
+ sr_info("Requested number of samples reached.");
+ sdi->driver->dev_acquisition_stop(sdi, cb_data);
+ }
+
+ return TRUE;