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,
return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
case SR_CONF_OUTPUT_FREQUENCY:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_DOUBLE,
- frequencies, ARRAY_SIZE(frequencies), sizeof(double));
+ ARRAY_AND_SIZE(frequencies), sizeof(double));
break;
case SR_CONF_EQUIV_CIRCUIT_MODEL:
- *data = g_variant_new_strv(models, ARRAY_SIZE(models));
+ *data = g_variant_new_strv(ARRAY_AND_SIZE(models));
break;
default:
return SR_ERR_NA;