]> sigrok.org Git - libsigrok.git/blobdiff - src/input/csv.c
rigol-dg: Initial Rigol DG1000z driver implementation.
[libsigrok.git] / src / input / csv.c
index 3a42fc9b1e6cfd1d479bb7f9de72643f862e759f..1c4a5d7f16c8f7e18e063554a23ebccdb564c8f6 100644 (file)
 /*
  * TODO
  *
- * - Unbreak analog data when submitted in the 'double' data type. This
- *   was observed with sigrok-cli screen output. Is analog.encoding->unitsize
- *   not handled appropriately? Is it a sigrok-cli or libsigrok issue?
  * - Add a test suite for input modules in general, and CSV in specific?
  *   Becomes more important with the multitude of options and their
  *   interaction. Could cover edge cases (BOM presence, line termination
  *   samplerates, etc).
  */
 
-typedef float csv_analog_t;    /* 'double' currently is flawed. */
+typedef double csv_analog_t;
 
 /* Single column formats. */
 enum single_col_format {
@@ -277,21 +274,13 @@ struct context {
 static int flush_samplerate(const struct sr_input *in)
 {
        struct context *inc;
-       struct sr_datafeed_packet packet;
-       struct sr_datafeed_meta meta;
-       struct sr_config *src;
 
        inc = in->priv;
        if (!inc->calc_samplerate && inc->samplerate)
                inc->calc_samplerate = inc->samplerate;
        if (inc->calc_samplerate && !inc->samplerate_sent) {
-               packet.type = SR_DF_META;
-               packet.payload = &meta;
-               src = sr_config_new(SR_CONF_SAMPLERATE, g_variant_new_uint64(inc->calc_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->calc_samplerate));
                inc->samplerate_sent = TRUE;
        }