]> sigrok.org Git - libsigrok.git/commitdiff
zeroplus-logic-cube: address minor style nits
authorGerhard Sittig <redacted>
Thu, 28 Sep 2023 19:11:54 +0000 (21:11 +0200)
committerGerhard Sittig <redacted>
Mon, 9 Oct 2023 16:40:05 +0000 (18:40 +0200)
Prefer size types for indices and length specs. Separate function calls
from result inspection from flow control, to improve readability. Trim
text line length in complex expressions. Eliminate redundant data types
in malloc calls. Eliminate else after return. Remove dead code.

src/hardware/zeroplus-logic-cube/api.c
src/hardware/zeroplus-logic-cube/protocol.c
src/hardware/zeroplus-logic-cube/protocol.h

index 1fae2c8a8f541e00788e7d19cf03e69ff18e46b4..49e0e1f9e1dbb7e122e1c5135d62b281be4a560d 100644 (file)
@@ -169,7 +169,9 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        struct libusb_device_handle *hdl;
        libusb_device **devlist;
        GSList *devices;
-       int ret, i, j;
+       int ret;
+       size_t i, j;
+       uint8_t bus, addr;
        const struct zp_model *check;
        char serial_num[64], connection_id[64];
 
@@ -181,7 +183,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
 
        /* Find all ZEROPLUS analyzers and add them to device list. */
        libusb_get_device_list(drvc->sr_ctx->libusb_ctx, &devlist); /* TODO: Errors. */
-
        for (i = 0; devlist[i]; i++) {
                libusb_get_device_descriptor(devlist[i], &des);
 
@@ -209,17 +210,20 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
                        continue;
 
                /* Get the device's serial number from USB strings. */
-               if ((ret = libusb_open(devlist[i], &hdl)) < 0)
+               ret = libusb_open(devlist[i], &hdl);
+               if (ret < 0)
                        continue;
 
-               if (des.iSerialNumber == 0) {
-                       serial_num[0] = '\0';
-               } else if ((ret = libusb_get_string_descriptor_ascii(hdl,
-                               des.iSerialNumber, (unsigned char *) serial_num,
-                               sizeof(serial_num))) < 0) {
-                       sr_warn("Failed to get serial number string descriptor: %s.",
-                               libusb_error_name(ret));
-                       continue;
+               serial_num[0] = '\0';
+               if (des.iSerialNumber != 0) {
+                       ret = libusb_get_string_descriptor_ascii(hdl,
+                               des.iSerialNumber,
+                               (uint8_t *)serial_num, sizeof(serial_num));
+                       if (ret < 0) {
+                               sr_warn("Cannot get USB serial number: %s.",
+                                       libusb_error_name(ret));
+                               continue;
+                       }
                }
 
                libusb_close(hdl);
@@ -229,14 +233,19 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
 
                sr_info("Found ZEROPLUS %s.", prof->model_name);
 
-               sdi = g_malloc0(sizeof(struct sr_dev_inst));
+               sdi = g_malloc0(sizeof(*sdi));
                sdi->status = SR_ST_INACTIVE;
                sdi->vendor = g_strdup("ZEROPLUS");
                sdi->model = g_strdup(prof->model_name);
                sdi->serial_num = g_strdup(serial_num);
                sdi->connection_id = g_strdup(connection_id);
 
-               devc = g_malloc0(sizeof(struct dev_context));
+               bus = libusb_get_bus_number(devlist[i]);
+               addr = libusb_get_device_address(devlist[i]);
+               sdi->inst_type = SR_INST_USB;
+               sdi->conn = sr_usb_dev_inst_new(bus, addr, NULL);
+
+               devc = g_malloc0(sizeof(*devc));
                sdi->priv = devc;
                devc->prof = prof;
                devc->num_channels = prof->channels;
@@ -249,17 +258,13 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
 #endif
                devc->max_samplerate *= SR_MHZ(1);
                devc->memory_size = MEMORY_SIZE_8K;
-               // memset(devc->trigger_buffer, 0, NUM_TRIGGER_STAGES);
 
-               for (j = 0; j < devc->num_channels; j++)
+               for (j = 0; j < devc->num_channels; j++) {
                        sr_channel_new(sdi, j, SR_CHANNEL_LOGIC, TRUE,
                                        channel_names[j]);
+               }
 
                devices = g_slist_append(devices, sdi);
-               sdi->inst_type = SR_INST_USB;
-               sdi->conn = sr_usb_dev_inst_new(
-                       libusb_get_bus_number(devlist[i]),
-                       libusb_get_device_address(devlist[i]), NULL);
        }
        libusb_free_device_list(devlist, 1);
 
index bc517c35acbf526d9c513d11fb50dd9e15417e8a..37fcbdcc2eb04d09d3c15a8f4f18736fcef8fca0 100644 (file)
 #include <math.h>
 #include "protocol.h"
 
-SR_PRIV unsigned int get_memory_size(int type)
+SR_PRIV size_t get_memory_size(int type)
 {
        if (type == MEMORY_SIZE_8K)
                return (8 * 1024);
-       else if (type <= MEMORY_SIZE_8M)
+       if (type <= MEMORY_SIZE_8M)
                return (32 * 1024) << type;
-       else
-               return 0;
+       return 0;
 }
 
 static int clz(unsigned int x)
@@ -59,6 +58,8 @@ static int clz(unsigned int x)
 
 SR_PRIV int set_limit_samples(struct dev_context *devc, uint64_t samples)
 {
+       size_t mem_kb;
+
        if (samples > devc->max_sample_depth)
                samples = devc->max_sample_depth;
 
@@ -71,8 +72,8 @@ SR_PRIV int set_limit_samples(struct dev_context *devc, uint64_t samples)
        else
                devc->memory_size = 19 - clz(samples - 1);
 
-       sr_info("Setting memory size to %dK.",
-               get_memory_size(devc->memory_size) / 1024);
+       mem_kb = get_memory_size(devc->memory_size) / 1024;
+       sr_info("Setting memory size to %zuK.", mem_kb);
 
        analyzer_set_memory_size(devc->memory_size);
 
index e179f1f8a2280b86b89e5f5e1c811ab6f52eaa1e..b0c358be09923a61a86b2ef049d42b75a7a23eb8 100644 (file)
 
 #define LOG_PREFIX "zeroplus-logic-cube"
 
+struct zp_model;
 struct dev_context {
        uint64_t cur_samplerate;
        uint64_t max_samplerate;
        uint64_t limit_samples;
-       int num_channels;
-       int memory_size;
-       unsigned int max_sample_depth;
-       //uint8_t channel_mask;
-       //uint8_t trigger_mask[NUM_TRIGGER_STAGES];
-       //uint8_t trigger_value[NUM_TRIGGER_STAGES];
-       // uint8_t trigger_buffer[NUM_TRIGGER_STAGES];
+       size_t num_channels;
+       size_t memory_size;
+       size_t max_sample_depth;
        int trigger;
        uint64_t capture_ratio;
        double cur_threshold;
        const struct zp_model *prof;
 };
 
-SR_PRIV unsigned int get_memory_size(int type);
+SR_PRIV size_t get_memory_size(int type);
 SR_PRIV int zp_set_samplerate(struct dev_context *devc, uint64_t samplerate);
 SR_PRIV int set_limit_samples(struct dev_context *devc, uint64_t samples);
 SR_PRIV int set_voltage_threshold(struct dev_context *devc, double thresh);