X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Farachnid-labs-re-load-pro%2Fprotocol.c;h=2c1031a2c42961cb224cae02582120d3d9eb3ff2;hb=5f8cf332a6b8d177090a92405907fc695f13db97;hp=998ba17119113956bd1f3f17a57f9cb19223f0ad;hpb=c3f8e1abf04772a359f22ff1609b6a55f6b3ef38;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 998ba171..2c1031a2 100644 --- a/src/hardware/arachnid-labs-re-load-pro/protocol.c +++ b/src/hardware/arachnid-labs-re-load-pro/protocol.c @@ -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)); } @@ -363,9 +338,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) g_strfreev(tokens); /* Begin frame. */ - packet.type = SR_DF_FRAME_BEGIN; - packet.payload = NULL; - sr_session_send(sdi, &packet); + std_session_send_df_frame_begin(sdi); sr_analog_init(&analog, &encoding, &meaning, &spec, 4); @@ -398,9 +371,7 @@ static void handle_packet(const struct sr_dev_inst *sdi) g_slist_free(l); /* End frame. */ - packet.type = SR_DF_FRAME_END; - packet.payload = NULL; - sr_session_send(sdi, &packet); + std_session_send_df_frame_end(sdi); sr_sw_limits_update_samples_read(&devc->limits, 1); }