From: Wolfram Sang Date: Wed, 2 Jan 2019 12:15:20 +0000 (+0100) Subject: ols: refactor using max_channels X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=ea642977e57ed0e6aa871d8c485bf11884479a7d ols: refactor using max_channels Let max_channels really carry the number of maximum channels the hardware supports. We will handle the limitation of only half the channels available in 200MHz mode later. Note that there won't be a regression because we only set the variable but never check it. The desired result of this patch is the removal of the NUM_CHANNELS macro. The number of channels needs to be dealt with at runtime. Signed-off-by: Wolfram Sang --- diff --git a/src/hardware/openbench-logic-sniffer/protocol.c b/src/hardware/openbench-logic-sniffer/protocol.c index 0a9a34a2..b9383ddd 100644 --- a/src/hardware/openbench-logic-sniffer/protocol.c +++ b/src/hardware/openbench-logic-sniffer/protocol.c @@ -148,11 +148,14 @@ SR_PRIV struct dev_context *ols_dev_new(void) static void ols_channel_new(struct sr_dev_inst *sdi, int num_chan) { + struct dev_context *devc = sdi->priv; int i; for (i = 0; i < num_chan; i++) sr_channel_new(sdi, i, SR_CHANNEL_LOGIC, TRUE, ols_channel_names[i]); + + devc->max_channels = num_chan; } SR_PRIV struct sr_dev_inst *get_metadata(struct sr_serial_dev_inst *serial) @@ -303,13 +306,11 @@ SR_PRIV int ols_set_samplerate(const struct sr_dev_inst *sdi, sr_info("Enabling demux mode."); devc->flag_reg |= FLAG_DEMUX; devc->flag_reg &= ~FLAG_FILTER; - devc->max_channels = NUM_CHANNELS / 2; devc->cur_samplerate_divider = (CLOCK_RATE * 2 / samplerate) - 1; } else { sr_info("Disabling demux mode."); devc->flag_reg &= ~FLAG_DEMUX; devc->flag_reg |= FLAG_FILTER; - devc->max_channels = NUM_CHANNELS; devc->cur_samplerate_divider = (CLOCK_RATE / samplerate) - 1; } diff --git a/src/hardware/openbench-logic-sniffer/protocol.h b/src/hardware/openbench-logic-sniffer/protocol.h index e8e7574c..1ec671a4 100644 --- a/src/hardware/openbench-logic-sniffer/protocol.h +++ b/src/hardware/openbench-logic-sniffer/protocol.h @@ -28,7 +28,6 @@ #define LOG_PREFIX "openbench-logic-sniffer" -#define NUM_CHANNELS 32 #define NUM_TRIGGER_STAGES 4 #define CLOCK_RATE SR_MHZ(100) #define MIN_NUM_SAMPLES 4