X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Farachnid-labs-re-load-pro%2Fprotocol.c;h=3d7a014606de4c5746c214e1cbc9253ea147fd40;hb=db3aac1a295a778657935e100438bc0552ffeaaa;hp=9c080646c29fdca36236ca22136742cb20e40dad;hpb=b3e715e528aa41e14100e3b5aae73248a34ab335;p=libsigrok.git diff --git a/src/hardware/arachnid-labs-re-load-pro/protocol.c b/src/hardware/arachnid-labs-re-load-pro/protocol.c index 9c080646..3d7a0146 100644 --- a/src/hardware/arachnid-labs-re-load-pro/protocol.c +++ b/src/hardware/arachnid-labs-re-load-pro/protocol.c @@ -171,7 +171,7 @@ SR_PRIV int reloadpro_get_current_limit(const struct sr_dev_inst *sdi, end_time = g_get_monotonic_time () + 5 * G_TIME_SPAN_SECOND; if (!g_cond_wait_until(&devc->current_limit_cond, &devc->acquisition_mutex, end_time)) { - // timeout has passed. + /* Timeout has passed. */ g_mutex_unlock(&devc->acquisition_mutex); return SR_ERR; } @@ -207,7 +207,7 @@ SR_PRIV int reloadpro_get_under_voltage_threshold(const struct sr_dev_inst *sdi, end_time = g_get_monotonic_time () + 5 * G_TIME_SPAN_SECOND; if (!g_cond_wait_until(&devc->uvc_threshold_cond, &devc->acquisition_mutex, end_time)) { - // timeout has passed. + /* Timeout has passed. */ g_mutex_unlock(&devc->acquisition_mutex); return SR_ERR; } @@ -244,7 +244,7 @@ SR_PRIV int reloadpro_get_voltage_current(const struct sr_dev_inst *sdi, end_time = g_get_monotonic_time () + 5 * G_TIME_SPAN_SECOND; if (!g_cond_wait_until(&devc->voltage_cond, &devc->acquisition_mutex, end_time)) { - // timeout has passed. + /* Timeout has passed. */ g_mutex_unlock(&devc->acquisition_mutex); return SR_ERR; } @@ -265,31 +265,6 @@ SR_PRIV int reloadpro_get_voltage_current(const struct sr_dev_inst *sdi, return SR_OK; } -static int send_config_update_key(const struct sr_dev_inst *sdi, - uint32_t key, GVariant *var) -{ - struct sr_config *cfg; - struct sr_datafeed_packet packet; - struct sr_datafeed_meta meta; - int ret; - - cfg = sr_config_new(key, var); - if (!cfg) - return SR_ERR; - - memset(&meta, 0, sizeof(meta)); - - packet.type = SR_DF_META; - packet.payload = &meta; - - meta.config = g_slist_append(meta.config, cfg); - - ret = sr_session_send(sdi, &packet); - sr_config_free(cfg); - - return ret; -} - static void handle_packet(const struct sr_dev_inst *sdi) { struct sr_datafeed_packet packet; @@ -306,7 +281,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) if (g_str_has_prefix((const char *)devc->buf, "overtemp")) { sr_warn("Overtemperature condition!"); devc->otp_active = TRUE; - send_config_update_key(sdi, SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE, + sr_session_send_meta(sdi, SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE, g_variant_new_boolean(TRUE)); return; } @@ -314,7 +289,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) if (g_str_has_prefix((const char *)devc->buf, "undervolt")) { sr_warn("Undervoltage condition!"); devc->uvc_active = TRUE; - send_config_update_key(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE, + sr_session_send_meta(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE, g_variant_new_boolean(TRUE)); return; } @@ -329,7 +304,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) devc->current_limit = g_ascii_strtod(tokens[1], NULL) / 1000; g_strfreev(tokens); g_cond_signal(&devc->current_limit_cond); - send_config_update_key(sdi, SR_CONF_CURRENT_LIMIT, + sr_session_send_meta(sdi, SR_CONF_CURRENT_LIMIT, g_variant_new_double(devc->current_limit)); return; } @@ -340,12 +315,12 @@ static void handle_packet(const struct sr_dev_inst *sdi) g_strfreev(tokens); g_cond_signal(&devc->uvc_threshold_cond); if (devc->uvc_threshold == .0) { - send_config_update_key(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION, + sr_session_send_meta(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION, g_variant_new_boolean(FALSE)); } else { - send_config_update_key(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION, + sr_session_send_meta(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION, g_variant_new_boolean(TRUE)); - send_config_update_key(sdi, + sr_session_send_meta(sdi, SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD, g_variant_new_double(devc->uvc_threshold)); } @@ -380,6 +355,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) meaning.mq = SR_MQ_VOLTAGE; meaning.mqflags = SR_MQFLAG_DC; meaning.unit = SR_UNIT_VOLT; + encoding.digits = 3; analog.data = &devc->voltage; sr_session_send(sdi, &packet); g_slist_free(l); @@ -391,6 +367,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) meaning.mq = SR_MQ_CURRENT; meaning.mqflags = SR_MQFLAG_DC; meaning.unit = SR_UNIT_AMPERE; + encoding.digits = 3; analog.data = &devc->current; sr_session_send(sdi, &packet); g_slist_free(l);