]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/scpi-pps/protocol.c
scpi-pps: Use software sample and time limits.
[libsigrok.git] / src / hardware / scpi-pps / protocol.c
index 8dd669722d776e6a47c8588cafc48979ed3884a0..37c327c41bab10e12c806da01b546909b4182a23 100644 (file)
@@ -32,7 +32,7 @@ SR_PRIV int scpi_pps_receive_data(int fd, int revents, void *cb_data)
        struct sr_analog_encoding encoding;
        struct sr_analog_meaning meaning;
        struct sr_analog_spec spec;
-       const struct sr_dev_inst *sdi;
+       struct sr_dev_inst *sdi;
        int channel_group_cmd;
        char *channel_group_name;
        struct pps_channel *pch;
@@ -116,5 +116,13 @@ SR_PRIV int scpi_pps_receive_data(int fd, int revents, void *cb_data)
                        sr_next_enabled_channel(sdi, devc->cur_acquisition_channel);
        }
 
+       if (devc->cur_acquisition_channel == sr_next_enabled_channel(sdi, NULL))
+               /* First enabled channel, so each channel has been sampled */
+               sr_sw_limits_update_samples_read(&devc->limits, 1);
+
+       /* Stop if limits have been hit. */
+       if (sr_sw_limits_check(&devc->limits))
+               sr_dev_acquisition_stop(sdi);
+
        return TRUE;
 }