X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fdemo%2Fdemo.c;h=1b25872755a451dcecaa0ed242fc4b08010fea0b;hb=45ec8f775680124d49e82251f258104cf4414f17;hp=ce8249183f5a0fb244800b665be99a63f6ed3e00;hpb=a49a320deaddbcc8caedb3247a695b97e22b37b3;p=libsigrok.git diff --git a/src/hardware/demo/demo.c b/src/hardware/demo/demo.c index ce824918..1b258727 100644 --- a/src/hardware/demo/demo.c +++ b/src/hardware/demo/demo.c @@ -98,7 +98,7 @@ struct analog_gen { float amplitude; float pattern_data[ANALOG_BUFSIZE]; unsigned int num_samples; - struct sr_datafeed_analog packet; + struct sr_datafeed_analog_old packet; float avg_val; /* Average value */ unsigned num_avgs; /* Number of samples averaged */ }; @@ -687,7 +687,7 @@ static void send_analog_packet(struct analog_gen *ag, unsigned int i; devc = sdi->priv; - packet.type = SR_DF_ANALOG; + packet.type = SR_DF_ANALOG_OLD; packet.payload = &ag->packet; if (!devc->avg) { @@ -770,7 +770,7 @@ static int prepare_data(int fd, int revents, void *cb_data) todo_us = MAX(0, elapsed_us - devc->spent_us); /* How many samples are outstanding since the last round? */ - samples_todo = (todo_us * devc->cur_samplerate + G_USEC_PER_SEC / 2) + samples_todo = (todo_us * devc->cur_samplerate + G_USEC_PER_SEC - 1) / G_USEC_PER_SEC; if (devc->limit_samples > 0) { if (devc->limit_samples < devc->sent_samples) @@ -833,7 +833,7 @@ static int prepare_data(int fd, int revents, void *cb_data) g_hash_table_iter_init(&iter, devc->ch_ag); while (g_hash_table_iter_next(&iter, NULL, &value)) { ag = value; - packet.type = SR_DF_ANALOG; + packet.type = SR_DF_ANALOG_OLD; packet.payload = &ag->packet; ag->packet.data = &ag->avg_val; ag->packet.num_samples = 1; @@ -865,7 +865,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) while (g_hash_table_iter_next(&iter, NULL, &value)) generate_analog_pattern(value, devc->cur_samplerate); - sr_session_source_add(sdi->session, -1, 0, 40, prepare_data, (void *)sdi); + sr_session_source_add(sdi->session, -1, 0, 100, + prepare_data, (struct sr_dev_inst *)sdi); /* Send header packet to the session bus. */ std_session_send_df_header(sdi, LOG_PREFIX);