X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Finput%2Ftrace32_ad.c;h=ba89ad2c41b7479586ae7204762cb1a86a5f7f6b;hb=9d2c239134407edbbe68f802a883f61d03475c02;hp=c55568edd1b6c486ef9e2fa716d6b8ab521c0540;hpb=35037b1d8b6019c3605f6b579022ce35aefdb759;p=libsigrok.git diff --git a/src/input/trace32_ad.c b/src/input/trace32_ad.c index c55568ed..ba89ad2c 100644 --- a/src/input/trace32_ad.c +++ b/src/input/trace32_ad.c @@ -163,7 +163,7 @@ static int init(struct sr_input *in, GHashTable *options) /* Calculate the desired timestamp scaling factor. */ inc->samplerate = 1000000 * - g_variant_get_uint32(g_hash_table_lookup(options, "samplerate")); + g_variant_get_uint64(g_hash_table_lookup(options, "samplerate")); inc->timestamp_scale = ((1 / TIMESTAMP_RESOLUTION) / (double)inc->samplerate); @@ -407,21 +407,11 @@ static void create_channels(struct sr_input *in) static void send_metadata(struct sr_input *in) { - struct sr_datafeed_packet packet; - struct sr_datafeed_meta meta; - struct sr_config *src; struct context *inc; inc = in->priv; - - packet.type = SR_DF_META; - packet.payload = &meta; - src = sr_config_new(SR_CONF_SAMPLERATE, g_variant_new_uint64(inc->samplerate)); - meta.config = g_slist_append(NULL, src); - sr_session_send(in->sdi, &packet); - g_slist_free(meta.config); - sr_config_free(src); - + (void)sr_session_send_meta(in->sdi, SR_CONF_SAMPLERATE, + g_variant_new_uint64(inc->samplerate)); inc->meta_sent = TRUE; } @@ -447,7 +437,6 @@ static void flush_output_buffer(struct sr_input *in) static void process_record_pi(struct sr_input *in, gsize start) { - struct sr_datafeed_packet packet; struct context *inc; uint64_t timestamp, next_timestamp; uint32_t pod_data; @@ -580,10 +569,7 @@ static void process_record_pi(struct sr_input *in, gsize start) if (timestamp == inc->trigger_timestamp && !inc->trigger_sent) { sr_dbg("Trigger @%lf s, record #%d.", timestamp * TIMESTAMP_RESOLUTION, inc->cur_record); - - packet.type = SR_DF_TRIGGER; - packet.payload = NULL; - sr_session_send(in->sdi, &packet); + std_session_send_df_trigger(in->sdi); inc->trigger_sent = TRUE; } @@ -610,7 +596,6 @@ static void process_record_pi(struct sr_input *in, gsize start) static void process_record_iprobe(struct sr_input *in, gsize start) { - struct sr_datafeed_packet packet; struct context *inc; uint64_t timestamp, next_timestamp; char single_payload[3]; @@ -633,10 +618,7 @@ static void process_record_iprobe(struct sr_input *in, gsize start) if (timestamp == inc->trigger_timestamp && !inc->trigger_sent) { sr_dbg("Trigger @%lf s, record #%d.", timestamp * TIMESTAMP_RESOLUTION, inc->cur_record); - - packet.type = SR_DF_TRIGGER; - packet.payload = NULL; - sr_session_send(in->sdi, &packet); + std_session_send_df_trigger(in->sdi); inc->trigger_sent = TRUE; } @@ -909,7 +891,7 @@ static const struct sr_option *get_options(void) options[9].def = g_variant_ref_sink(g_variant_new_boolean(FALSE)); options[10].def = g_variant_ref_sink(g_variant_new_boolean(FALSE)); options[11].def = g_variant_ref_sink(g_variant_new_boolean(FALSE)); - options[12].def = g_variant_ref_sink(g_variant_new_uint32(DEFAULT_SAMPLERATE)); + options[12].def = g_variant_ref_sink(g_variant_new_uint64(DEFAULT_SAMPLERATE)); } return options;