X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhardware%2Farachnid-labs-re-load-pro%2Fprotocol.c;h=2c1031a2c42961cb224cae02582120d3d9eb3ff2;hb=1385f791b0a3705d2f45418cbb156e48840052c3;hp=86e317a5cff8eca7c0aef5869bc9b8696105da7e;hpb=a0bc8afd7d7bac81f14b232703ac0a29a7f77e29;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 86e317a5..2c1031a2 100644 --- a/src/hardware/arachnid-labs-re-load-pro/protocol.c +++ b/src/hardware/arachnid-labs-re-load-pro/protocol.c @@ -265,32 +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(NULL, cfg); - - ret = sr_session_send(sdi, &packet); - g_slist_free(meta.config); - sr_config_free(cfg); - - return ret; -} - static void handle_packet(const struct sr_dev_inst *sdi) { struct sr_datafeed_packet packet; @@ -307,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; } @@ -315,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; } @@ -330,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; } @@ -341,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)); } @@ -364,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); @@ -399,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); }