is_valid, timeout_ms, baudrate);
}
-static int send_config_update(struct sr_dev_inst *sdi, struct sr_config *cfg)
-{
- struct sr_datafeed_packet packet;
- struct sr_datafeed_meta meta;
-
- memset(&meta, 0, sizeof(meta));
-
- packet.type = SR_DF_META;
- packet.payload = &meta;
-
- meta.config = g_slist_append(meta.config, cfg);
-
- return sr_session_send(sdi, &packet);
-}
-
-static int send_config_update_key(struct sr_dev_inst *sdi, uint32_t key,
- GVariant *var)
-{
- struct sr_config *cfg;
- int ret;
-
- cfg = sr_config_new(key, var);
- if (!cfg)
- return SR_ERR;
-
- ret = send_config_update(sdi, cfg);
- sr_config_free(cfg);
-
- return ret;
-}
-
/*
* Cyrustek ES51919 LCR chipset host protocol.
*
return FALSE;
}
-static int do_config_update(struct sr_dev_inst *sdi, uint32_t key,
- GVariant *var)
-{
- return send_config_update_key(sdi, key, var);
-}
-
static int send_freq_update(struct sr_dev_inst *sdi, unsigned int freq)
{
- return do_config_update(sdi, SR_CONF_OUTPUT_FREQUENCY,
+ return sr_session_send_meta(sdi, SR_CONF_OUTPUT_FREQUENCY,
g_variant_new_double(frequencies[freq]));
}
static int send_model_update(struct sr_dev_inst *sdi, unsigned int model)
{
- return do_config_update(sdi, SR_CONF_EQUIV_CIRCUIT_MODEL,
+ return sr_session_send_meta(sdi, SR_CONF_EQUIV_CIRCUIT_MODEL,
g_variant_new_string(models[model]));
}
unsigned int val;
float floatval;
gboolean frame;
+ struct sr_channel *channel;
devc = sdi->priv;
analog.num_samples = 1;
analog.data = &floatval;
- analog.meaning->channels = g_slist_append(NULL, sdi->channels->data);
+ channel = sdi->channels->data;
+ analog.meaning->channels = g_slist_append(NULL, channel);
parse_measurement(pkt, &floatval, &analog, 0);
- if (analog.meaning->mq != 0) {
+ if (analog.meaning->mq != 0 && channel->enabled) {
if (!frame) {
packet.type = SR_DF_FRAME_BEGIN;
sr_session_send(sdi, &packet);
}
g_slist_free(analog.meaning->channels);
- analog.meaning->channels = g_slist_append(NULL, sdi->channels->next->data);
+
+ channel = sdi->channels->next->data;
+ analog.meaning->channels = g_slist_append(NULL, channel);
parse_measurement(pkt, &floatval, &analog, 1);
- if (analog.meaning->mq != 0) {
+ if (analog.meaning->mq != 0 && channel->enabled) {
if (!frame) {
packet.type = SR_DF_FRAME_BEGIN;
sr_session_send(sdi, &packet);
return;
dev_buffer_destroy(devc->buf);
- g_free(devc);
}
SR_PRIV struct sr_dev_inst *es51919_serial_scan(GSList *options,