X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fzeroplus-logic-cube%2Fapi.c;h=3681352e73e058828ec03e4cb7b800b80e554eef;hb=3be42bc22f8b36599a448273c12a76d3e0f7a940;hp=48845c7a2c26b62f37f4bbc23d834d0420b8fc37;hpb=0f34cb472368be61aa2e7bc9d9d1b25bb28aa560;p=libsigrok.git diff --git a/src/hardware/zeroplus-logic-cube/api.c b/src/hardware/zeroplus-logic-cube/api.c index 48845c7a..3681352e 100644 --- a/src/hardware/zeroplus-logic-cube/api.c +++ b/src/hardware/zeroplus-logic-cube/api.c @@ -17,6 +17,7 @@ * along with this program. If not, see . */ +#include #include "protocol.h" #define VENDOR_NAME "ZEROPLUS" @@ -30,7 +31,7 @@ struct zp_model { uint16_t vid; uint16_t pid; - char *model_name; + const char *model_name; unsigned int channels; unsigned int sample_depth; /* In Ksamples/channel */ unsigned int max_sampling_freq; @@ -50,7 +51,7 @@ static const struct zp_model zeroplus_models[] = { {0x0c12, 0x700e, "LAP-C(16032)", 16, 32, 100}, {0x0c12, 0x7016, "LAP-C(162000)", 16, 2048, 200}, {0x0c12, 0x7100, "AKIP-9101", 16, 256, 200}, - { 0, 0, 0, 0, 0, 0 } + ALL_ZERO }; static const uint32_t devopts[] = { @@ -174,7 +175,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) (void)options; - drvc = di->priv; + drvc = di->context; devices = NULL; @@ -182,12 +183,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) libusb_get_device_list(drvc->sr_ctx->libusb_ctx, &devlist); /* TODO: Errors. */ for (i = 0; devlist[i]; i++) { - ret = libusb_get_device_descriptor(devlist[i], &des); - if (ret != 0) { - sr_err("Failed to get device descriptor: %s.", - libusb_error_name(ret)); - continue; - } + libusb_get_device_descriptor(devlist[i], &des); if ((ret = libusb_open(devlist[i], &hdl)) < 0) continue; @@ -262,7 +258,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) static GSList *dev_list(const struct sr_dev_driver *di) { - return ((struct drv_context *)(di->priv))->instances; + return ((struct drv_context *)(di->context))->instances; } static int dev_open(struct sr_dev_inst *sdi) @@ -275,7 +271,7 @@ static int dev_open(struct sr_dev_inst *sdi) int device_count, ret, i; char connection_id[64]; - drvc = di->priv; + drvc = di->context; usb = sdi->conn; if (!(devc = sdi->priv)) { @@ -587,15 +583,11 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, /* Check for empty capture */ if ((status & STATUS_READY) && !stop_address) { - packet.type = SR_DF_END; - sr_session_send(cb_data, &packet); + std_session_send_df_end(cb_data, LOG_PREFIX); return SR_OK; } - if (!(buf = g_try_malloc(PACKET_SIZE))) { - sr_err("Packet buffer malloc failed."); - return SR_ERR_MALLOC; - } + buf = g_malloc(PACKET_SIZE); /* Check if the trigger is in the samples we are throwing away */ trigger_now = now_address == trigger_address || @@ -699,8 +691,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, analyzer_read_stop(usb->devhdl); g_free(buf); - packet.type = SR_DF_END; - sr_session_send(cb_data, &packet); + std_session_send_df_end(cb_data, LOG_PREFIX); return SR_OK; } @@ -710,10 +701,8 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) { struct dev_context *devc; struct sr_usb_dev_inst *usb; - struct sr_datafeed_packet packet; - packet.type = SR_DF_END; - sr_session_send(cb_data, &packet); + std_session_send_df_end(cb_data, LOG_PREFIX); if (!(devc = sdi->priv)) { sr_err("%s: sdi->priv was NULL", __func__); @@ -743,5 +732,5 @@ SR_PRIV struct sr_dev_driver zeroplus_logic_cube_driver_info = { .dev_close = dev_close, .dev_acquisition_start = dev_acquisition_start, .dev_acquisition_stop = dev_acquisition_stop, - .priv = NULL, + .context = NULL, };