]> sigrok.org Git - libsigrok.git/blobdiff - hardware/openbench-logic-sniffer/api.c
Rename various *PROBE* macros to *CHANNEL*.
[libsigrok.git] / hardware / openbench-logic-sniffer / api.c
index a2d1f3a60bf3afb57fc12ff24c2adf02c7953929..bcc41ed2522d200b7516c943844336f4b8c7c437 100644 (file)
@@ -61,8 +61,8 @@ static const char *patterns[] = {
        STR_PATTERN_INTERNAL,
 };
 
-/* Probes are numbered 0-31 (on the PCB silkscreen). */
-SR_PRIV const char *ols_probe_names[NUM_PROBES + 1] = {
+/* Channels are numbered 0-31 (on the PCB silkscreen). */
+SR_PRIV const char *ols_channel_names[NUM_CHANNELS + 1] = {
        "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
        "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23",
        "24", "25", "26", "27", "28", "29", "30", "31",
@@ -79,11 +79,6 @@ static const uint64_t samplerates[] = {
 SR_PRIV struct sr_dev_driver ols_driver_info;
 static struct sr_dev_driver *di = &ols_driver_info;
 
-static int dev_clear(void)
-{
-       return std_dev_clear(di, NULL);
-}
-
 static int init(struct sr_context *sr_ctx)
 {
        return std_init(sr_ctx, di, LOG_PREFIX);
@@ -95,7 +90,7 @@ static GSList *scan(GSList *options)
        struct sr_dev_inst *sdi;
        struct drv_context *drvc;
        struct dev_context *devc;
-       struct sr_probe *probe;
+       struct sr_channel *ch;
        struct sr_serial_dev_inst *serial;
        GPollFD probefd;
        GSList *l, *devices;
@@ -182,10 +177,10 @@ static GSList *scan(GSList *options)
                                "Sump", "Logic Analyzer", "v1.0");
                sdi->driver = di;
                for (i = 0; i < 32; i++) {
-                       if (!(probe = sr_probe_new(i, SR_PROBE_LOGIC, TRUE,
-                                       ols_probe_names[i])))
+                       if (!(ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE,
+                                       ols_channel_names[i])))
                                return 0;
-                       sdi->probes = g_slist_append(sdi->probes, probe);
+                       sdi->channels = g_slist_append(sdi->channels, ch);
                }
                devc = ols_dev_new();
                sdi->priv = devc;
@@ -195,7 +190,7 @@ static GSList *scan(GSList *options)
                sr_dbg("Failed to set default samplerate (%"PRIu64").",
                                DEFAULT_SAMPLERATE);
        /* Clear trigger masks, values and stages. */
-       ols_configure_probes(sdi);
+       ols_configure_channels(sdi);
        sdi->inst_type = SR_INST_SERIAL;
        sdi->conn = serial;
 
@@ -214,15 +209,15 @@ static GSList *dev_list(void)
 
 static int cleanup(void)
 {
-       return dev_clear();
+       return std_dev_clear(di, NULL);
 }
 
 static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi,
-               const struct sr_probe_group *probe_group)
+               const struct sr_channel_group *cg)
 {
        struct dev_context *devc;
 
-       (void)probe_group;
+       (void)cg;
 
        if (!sdi)
                return SR_ERR_ARG;
@@ -257,7 +252,7 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi,
 }
 
 static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi,
-               const struct sr_probe_group *probe_group)
+               const struct sr_channel_group *cg)
 {
        struct dev_context *devc;
        uint16_t flag;
@@ -265,7 +260,7 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi,
        int ret;
        const char *stropt;
 
-       (void)probe_group;
+       (void)cg;
 
        if (sdi->status != SR_ST_ACTIVE)
                return SR_ERR_DEV_CLOSED;
@@ -328,10 +323,10 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi,
        case SR_CONF_SWAP:
                if (g_variant_get_boolean(data)) {
                        sr_info("Enabling channel swapping.");
-                       devc->flag_reg |= FLAG_SWAP_PROBES;
+                       devc->flag_reg |= FLAG_SWAP_CHANNELS;
                } else {
                        sr_info("Disabling channel swapping.");
-                       devc->flag_reg &= ~FLAG_SWAP_PROBES;
+                       devc->flag_reg &= ~FLAG_SWAP_CHANNELS;
                }
                ret = SR_OK;
                break;
@@ -354,14 +349,14 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi,
 }
 
 static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi,
-               const struct sr_probe_group *probe_group)
+               const struct sr_channel_group *cg)
 {
        struct dev_context *devc;
        GVariant *gvar, *grange[2];
        GVariantBuilder gvb;
        int num_channels, i;
 
-       (void)probe_group;
+       (void)cg;
 
        switch (key) {
        case SR_CONF_SCAN_OPTIONS:
@@ -395,13 +390,13 @@ static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi,
                        /* Device didn't specify sample memory size in metadata. */
                        return SR_ERR_NA;
                /*
-                * Channel groups are turned off if no probes in that group are
+                * Channel groups are turned off if no channels in that group are
                 * enabled, making more room for samples for the enabled group.
                */
-               ols_configure_probes(sdi);
+               ols_configure_channels(sdi);
                num_channels = 0;
                for (i = 0; i < 4; i++) {
-                       if (devc->probe_mask & (0xff << (i * 8)))
+                       if (devc->channel_mask & (0xff << (i * 8)))
                                num_channels++;
                }
                grange[0] = g_variant_new_uint64(MIN_NUM_SAMPLES);
@@ -468,20 +463,20 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
        devc = sdi->priv;
        serial = sdi->conn;
 
-       if (ols_configure_probes(sdi) != SR_OK) {
-               sr_err("Failed to configure probes.");
+       if (ols_configure_channels(sdi) != SR_OK) {
+               sr_err("Failed to configure channels.");
                return SR_ERR;
        }
 
        /*
         * Enable/disable channel groups in the flag register according to the
-        * probe mask. Calculate this here, because num_channels is needed
+        * channel mask. Calculate this here, because num_channels is needed
         * to limit readcount.
         */
        changrp_mask = 0;
        num_channels = 0;
        for (i = 0; i < 4; i++) {
-               if (devc->probe_mask & (0xff << (i * 8))) {
+               if (devc->channel_mask & (0xff << (i * 8))) {
                        changrp_mask |= (1 << i);
                        num_channels++;
                }
@@ -500,7 +495,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
 
        /* Basic triggers. */
        if (devc->trigger_mask[0] != 0x00000000) {
-               /* At least one probe has a trigger on it. */
+               /* At least one channel has a trigger on it. */
                delaycount = readcount * (1 - devc->capture_ratio / 100.0);
                devc->trigger_at = (readcount - delaycount) * 4 - devc->num_stages;
                for (i = 0; i <= devc->num_stages; i++) {
@@ -537,11 +532,12 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
                return SR_ERR;
 
        /* Flag register. */
-       sr_dbg("Setting demux %s, noise_filter %s, extpat %s, intpat %s",
-                       devc->flag_reg & FLAG_DEMUX ? "on" : "off",
-                       devc->flag_reg & FLAG_FILTER ? "on": "off",
+       sr_dbg("Setting intpat %s, extpat %s, RLE %s, noise_filter %s, demux %s",
+                       devc->flag_reg & FLAG_INTERNAL_TEST_MODE ? "on": "off",
                        devc->flag_reg & FLAG_EXTERNAL_TEST_MODE ? "on": "off",
-                       devc->flag_reg & FLAG_INTERNAL_TEST_MODE ? "on": "off");
+                       devc->flag_reg & FLAG_RLE ? "on" : "off",
+                       devc->flag_reg & FLAG_FILTER ? "on": "off",
+                       devc->flag_reg & FLAG_DEMUX ? "on" : "off");
        /* 1 means "disable channel". */
        devc->flag_reg |= ~(changrp_mask << 2) & 0x3c;
        arg[0] = devc->flag_reg & 0xff;
@@ -557,6 +553,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
        /* Reset all operational states. */
        devc->rle_count = devc->num_transfers = 0;
        devc->num_samples = devc->num_bytes = 0;
+       devc->cnt_bytes = devc->cnt_samples = devc->cnt_samples_rle = 0;
        memset(devc->sample, 0, 4);
 
        /* Send header packet to the session bus. */
@@ -584,7 +581,7 @@ SR_PRIV struct sr_dev_driver ols_driver_info = {
        .cleanup = cleanup,
        .scan = scan,
        .dev_list = dev_list,
-       .dev_clear = dev_clear,
+       .dev_clear = NULL,
        .config_get = config_get,
        .config_set = config_set,
        .config_list = config_list,