From: Alexandru Gagniuc Date: Wed, 29 Apr 2015 23:58:24 +0000 (-0700) Subject: global: Treat SR_CONF_OUTPUT_FREQUENCY as float instead of uint64_t X-Git-Tag: libsigrok-0.4.0~512 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=b94dd07b0823ae1607ce8159681a31833a01e199;p=libsigrok.git global: Treat SR_CONF_OUTPUT_FREQUENCY as float instead of uint64_t This makes 'output_frequency' symmetrical with 'output_current' and 'output_voltage'. On a more fundamental level, there's no reason why frequency should be treated as a discrete quantity, other than "es51919 used it this way". --- diff --git a/src/hwdriver.c b/src/hwdriver.c index ec0c706e..c6c56456 100644 --- a/src/hwdriver.c +++ b/src/hwdriver.c @@ -157,7 +157,7 @@ static struct sr_config_info sr_config_info_data[] = { "Output channel regulation", NULL}, {SR_CONF_OVER_TEMPERATURE_PROTECTION, SR_T_BOOL, "otp", "Over-temperature protection", NULL}, - {SR_CONF_OUTPUT_FREQUENCY, SR_T_UINT64, "output_frequency", + {SR_CONF_OUTPUT_FREQUENCY, SR_T_FLOAT, "output_frequency", "Output frequency", NULL}, {SR_CONF_MEASURED_QUANTITY, SR_T_STRING, "measured_quantity", "Measured quantity", NULL}, diff --git a/src/lcr/es51919.c b/src/lcr/es51919.c index d7290c76..06d05d0f 100644 --- a/src/lcr/es51919.c +++ b/src/lcr/es51919.c @@ -402,7 +402,7 @@ static int send_config_update_key(struct sr_dev_inst *sdi, uint32_t key, #define PACKET_SIZE 17 -static const uint64_t frequencies[] = { +static const double frequencies[] = { 100, 120, 1000, 10000, 100000, 0, }; @@ -636,7 +636,7 @@ static int do_config_update(struct sr_dev_inst *sdi, uint32_t key, static int send_freq_update(struct sr_dev_inst *sdi, unsigned int freq) { return do_config_update(sdi, SR_CONF_OUTPUT_FREQUENCY, - g_variant_new_uint64(frequencies[freq])); + g_variant_new_double(frequencies[freq])); } static int send_quant1_update(struct sr_dev_inst *sdi, unsigned int quant) @@ -877,7 +877,7 @@ SR_PRIV int es51919_serial_config_get(uint32_t key, GVariant **data, switch (key) { case SR_CONF_OUTPUT_FREQUENCY: - *data = g_variant_new_uint64(frequencies[devc->freq]); + *data = g_variant_new_double(frequencies[devc->freq]); break; case SR_CONF_MEASURED_QUANTITY: *data = g_variant_new_string(quantities1[devc->quant1]); @@ -960,8 +960,8 @@ SR_PRIV int es51919_serial_config_list(uint32_t key, GVariant **data, switch (key) { case SR_CONF_OUTPUT_FREQUENCY: - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64, - frequencies, ARRAY_SIZE(frequencies), sizeof(uint64_t)); + *data = g_variant_new_fixed_array(G_VARIANT_TYPE_DOUBLE, + frequencies, ARRAY_SIZE(frequencies), sizeof(double)); break; case SR_CONF_MEASURED_QUANTITY: *data = g_variant_new_strv(list_quantities1,