X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fhardware%2Fgwinstek-gds-800%2Fapi.c;h=6e9b85bbbb6d89374cf71e43cd3e67cedf03fc21;hp=2926bf074d91f83ea7192ce67bb45313e893b997;hb=HEAD;hpb=dd7a72ea697a172032f5473b0ddff5e8d47222f4 diff --git a/src/hardware/gwinstek-gds-800/api.c b/src/hardware/gwinstek-gds-800/api.c index 2926bf07..6e9b85bb 100644 --- a/src/hardware/gwinstek-gds-800/api.c +++ b/src/hardware/gwinstek-gds-800/api.c @@ -30,7 +30,7 @@ static const uint32_t drvopts[] = { }; static const uint32_t devopts[] = { - SR_CONF_LIMIT_FRAMES | SR_CONF_SET, + SR_CONF_LIMIT_FRAMES | SR_CONF_GET | SR_CONF_SET, SR_CONF_SAMPLERATE | SR_CONF_GET, }; @@ -76,12 +76,9 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi) sr_channel_new(sdi, 0, SR_CHANNEL_ANALOG, TRUE, "CH1"); sr_channel_new(sdi, 1, SR_CHANNEL_ANALOG, TRUE, "CH2"); - cg = g_malloc0(sizeof(struct sr_channel_group)); - cg->name = g_strdup(""); + cg = sr_channel_group_new(sdi, "", NULL); cg->channels = g_slist_append(cg->channels, g_slist_nth_data(sdi->channels, 0)); cg->channels = g_slist_append(cg->channels, g_slist_nth_data(sdi->channels, 1)); - cg->priv = NULL; - sdi->channel_groups = g_slist_append(NULL, cg); return sdi; } @@ -132,6 +129,9 @@ static int config_get(uint32_t key, GVariant **data, case SR_CONF_SAMPLERATE: *data = g_variant_new_uint64(devc->sample_rate); break; + case SR_CONF_LIMIT_FRAMES: + *data = g_variant_new_uint64(devc->frame_limit); + break; default: return SR_ERR_NA; } @@ -189,17 +189,13 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) { struct sr_scpi_dev_inst *scpi; struct dev_context *devc; - struct sr_datafeed_packet packet; scpi = sdi->conn; devc = sdi->priv; if (devc->df_started) { - packet.type = SR_DF_FRAME_END; - sr_session_send(sdi, &packet); - + std_session_send_df_frame_end(sdi); std_session_send_df_end(sdi); - devc->df_started = FALSE; }