X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fzeroplus-logic-cube%2Fzeroplus.c;h=ba91fd5cd0c4d2601a10711780c7b2acd9024c8a;hb=035a1078fda93cf1da37d19b3a1d95311b99b00f;hp=739e490edc23fc9dbb2582aa83bb7e9f5662413f;hpb=a873c5940cc6d2d8f54f2dfdac3a98c4a3d302ee;p=libsigrok.git diff --git a/hardware/zeroplus-logic-cube/zeroplus.c b/hardware/zeroplus-logic-cube/zeroplus.c index 739e490e..ba91fd5c 100644 --- a/hardware/zeroplus-logic-cube/zeroplus.c +++ b/hardware/zeroplus-logic-cube/zeroplus.c @@ -71,12 +71,12 @@ static model_t zeroplus_models[] = { }; static const int hwcaps[] = { - SR_HWCAP_LOGIC_ANALYZER, - SR_HWCAP_SAMPLERATE, - SR_HWCAP_CAPTURE_RATIO, + SR_CONF_LOGIC_ANALYZER, + SR_CONF_SAMPLERATE, + SR_CONF_CAPTURE_RATIO, /* These are really implemented in the driver, not the hardware. */ - SR_HWCAP_LIMIT_SAMPLES, + SR_CONF_LIMIT_SAMPLES, 0, }; @@ -85,22 +85,8 @@ static const int hwcaps[] = { * We currently ignore other untested/unsupported devices here. */ static const char *probe_names[NUM_PROBES + 1] = { - "A0", - "A1", - "A2", - "A3", - "A4", - "A5", - "A6", - "A7", - "B0", - "B1", - "B2", - "B3", - "B4", - "B5", - "B6", - "B7", + "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", + "B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", NULL, }; @@ -543,28 +529,14 @@ static int hw_cleanup(void) return SR_OK; } -static int hw_info_get(int info_id, const void **data, - const struct sr_dev_inst *sdi) +static int config_get(int id, const void **data, const struct sr_dev_inst *sdi) { struct dev_context *devc; - switch (info_id) { + switch (id) { case SR_DI_HWCAPS: *data = hwcaps; break; - case SR_DI_NUM_PROBES: - if (sdi) { - devc = sdi->priv; - *data = GINT_TO_POINTER(devc->num_channels); - sr_spew("zp: %s: Returning number of channels: %d.", - __func__, devc->num_channels); - } else - return SR_ERR; - break; - case SR_DI_PROBE_NAMES: - *data = probe_names; - sr_spew("zp: %s: Returning probenames.", __func__); - break; case SR_DI_SAMPLERATES: *data = &samplerates; sr_spew("zp: %s: Returning samplerates.", __func__); @@ -651,8 +623,7 @@ static int set_capture_ratio(struct dev_context *devc, uint64_t ratio) return SR_OK; } -static int hw_dev_config_set(const struct sr_dev_inst *sdi, int hwcap, - const void *value) +static int config_set(int id, const void *value, const struct sr_dev_inst *sdi) { struct dev_context *devc; @@ -666,12 +637,12 @@ static int hw_dev_config_set(const struct sr_dev_inst *sdi, int hwcap, return SR_ERR_ARG; } - switch (hwcap) { - case SR_HWCAP_SAMPLERATE: + switch (id) { + case SR_CONF_SAMPLERATE: return set_samplerate(devc, *(const uint64_t *)value); - case SR_HWCAP_LIMIT_SAMPLES: + case SR_CONF_LIMIT_SAMPLES: return set_limit_samples(devc, *(const uint64_t *)value); - case SR_HWCAP_CAPTURE_RATIO: + case SR_CONF_CAPTURE_RATIO: return set_capture_ratio(devc, *(const uint64_t *)value); default: return SR_ERR; @@ -713,7 +684,6 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, struct sr_datafeed_packet packet; struct sr_datafeed_logic logic; struct sr_datafeed_header header; - struct sr_datafeed_meta_logic meta; //uint64_t samples_read; int res; unsigned int packet_num; @@ -753,13 +723,6 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, gettimeofday(&header.starttime, NULL); sr_session_send(cb_data, &packet); - /* Send metadata about the SR_DF_LOGIC packets to come. */ - packet.type = SR_DF_META_LOGIC; - packet.payload = &meta; - meta.samplerate = devc->cur_samplerate; - meta.num_probes = devc->num_channels; - sr_session_send(cb_data, &packet); - if (!(buf = g_try_malloc(PACKET_SIZE))) { sr_err("zp: %s: buf malloc failed", __func__); return SR_ERR_MALLOC; @@ -822,10 +785,10 @@ SR_PRIV struct sr_dev_driver zeroplus_logic_cube_driver_info = { .scan = hw_scan, .dev_list = hw_dev_list, .dev_clear = hw_cleanup, + .config_get = config_get, + .config_set = config_set, .dev_open = hw_dev_open, .dev_close = hw_dev_close, - .info_get = hw_info_get, - .dev_config_set = hw_dev_config_set, .dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_stop = hw_dev_acquisition_stop, .priv = NULL,