]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/colead-slm/protocol.c
analog: Implement multiplication for sr_rational
[libsigrok.git] / src / hardware / colead-slm / protocol.c
index 481a6dd36ec72dfe06c3333c432c95acdd93cdd3..c0494fbec805054a813be2dfed3e94955fe0dfd6 100644 (file)
@@ -169,13 +169,12 @@ static void process_packet(const struct sr_dev_inst *sdi)
 
        packet.type = SR_DF_ANALOG_OLD;
        packet.payload = &analog;
-       sr_session_send(devc->cb_data, &packet);
+       sr_session_send(sdi, &packet);
 
-       devc->num_samples++;
-       if (devc->num_samples >= devc->limit_samples)
-               sdi->driver->dev_acquisition_stop((struct sr_dev_inst *)sdi,
-                               devc->cb_data);
+       sr_sw_limits_update_samples_read(&devc->limits, 1);
 
+       if (sr_sw_limits_check(&devc->limits))
+               sdi->driver->dev_acquisition_stop((struct sr_dev_inst *)sdi);
 }
 
 SR_PRIV int colead_slm_receive_data(int fd, int revents, void *cb_data)