]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/demo/protocol.c
scpi-pps: don't break SCPI devices when scanning for HP-IB devices
[libsigrok.git] / src / hardware / demo / protocol.c
index 305ff17cd85d26430d926459133a063b3f32bfd8..eea3c9b8e7e622a72941ca23be952aa2e54c30e4 100644 (file)
@@ -252,6 +252,15 @@ SR_PRIV void demo_generate_analog_pattern(struct dev_context *devc)
        devc->analog_patterns[PATTERN_ANALOG_RANDOM] = pattern;
 }
 
+SR_PRIV void demo_free_analog_pattern(struct dev_context *devc)
+{
+       g_free(devc->analog_patterns[PATTERN_SQUARE]);
+       g_free(devc->analog_patterns[PATTERN_SINE]);
+       g_free(devc->analog_patterns[PATTERN_TRIANGLE]);
+       g_free(devc->analog_patterns[PATTERN_SAWTOOTH]);
+       g_free(devc->analog_patterns[PATTERN_ANALOG_RANDOM]);
+}
+
 static uint64_t encode_number_to_gray(uint64_t nr)
 {
        return nr ^ (nr >> 1);
@@ -705,7 +714,7 @@ SR_PRIV int demo_prepare_data(int fd, int revents, void *cb_data)
        devc->spent_us += todo_us;
 
        if (devc->limit_frames && devc->sent_frame_samples >= SAMPLES_PER_FRAME) {
-               std_session_send_frame_end(sdi);
+               std_session_send_df_frame_end(sdi);
                devc->sent_frame_samples = 0;
                devc->limit_frames--;
                if (!devc->limit_frames) {
@@ -733,7 +742,7 @@ SR_PRIV int demo_prepare_data(int fd, int revents, void *cb_data)
                sr_dev_acquisition_stop(sdi);
        } else if (devc->limit_frames) {
                if (devc->sent_frame_samples == 0)
-                       std_session_send_frame_begin(sdi);
+                       std_session_send_df_frame_begin(sdi);
        }
 
        return G_SOURCE_CONTINUE;