X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fopenbench-logic-sniffer%2Fprotocol.h;h=3322409f06bd9c5a9ea6ac776c9adb929317fc8b;hb=9526f2d4f80968e9b2d00442fd4705d6902db589;hp=d2502f5cdb31380ec04f3ad3125edd338fdb9685;hpb=13d8e03c4f9fb6fe9c5f682ab957173effe42d43;p=libsigrok.git diff --git a/hardware/openbench-logic-sniffer/protocol.h b/hardware/openbench-logic-sniffer/protocol.h index d2502f5c..3322409f 100644 --- a/hardware/openbench-logic-sniffer/protocol.h +++ b/hardware/openbench-logic-sniffer/protocol.h @@ -1,5 +1,5 @@ /* - * This file is part of the sigrok project. + * This file is part of the libsigrok project. * * Copyright (C) 2013 Bert Vermeulen * @@ -26,14 +26,14 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "ols: " -#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args) -#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args) -#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args) -#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args) -#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) -#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +/* Message logging helpers with subsystem-specific prefix string. */ +#define LOG_PREFIX "ols: " +#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) +#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) +#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) +#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) +#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) +#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) #define NUM_PROBES 32 #define NUM_TRIGGER_STAGES 4 @@ -41,6 +41,7 @@ #define SERIAL_SPEED B115200 #define CLOCK_RATE SR_MHZ(100) #define MIN_NUM_SAMPLES 4 +#define DEFAULT_SAMPLERATE SR_KHZ(200) /* Command opcodes */ #define CMD_RESET 0x00 @@ -76,34 +77,33 @@ /* Private, per-device-instance driver context. */ struct dev_context { - uint32_t max_samplerate; + /* Fixed device settings */ uint32_t max_samples; + uint32_t max_samplerate; uint32_t protocol_version; + /* Acquisition settings */ uint64_t cur_samplerate; uint32_t cur_samplerate_divider; uint64_t limit_samples; - /* Current state of the flag register */ - uint32_t flag_reg; - - /* Pre/post trigger capture ratio, in percentage. - * 0 means no pre-trigger data. */ int capture_ratio; int trigger_at; uint32_t probe_mask; uint32_t trigger_mask[4]; uint32_t trigger_value[4]; int num_stages; + uint32_t flag_reg; + /* Operational states */ unsigned int num_transfers; unsigned int num_samples; - int rle_count; int num_bytes; + + /* Temporary variables */ + int rle_count; unsigned char sample[4]; unsigned char tmp_sample[4]; unsigned char *raw_sample_buf; - - struct sr_serial_dev_inst *serial; }; @@ -119,8 +119,7 @@ SR_PRIV uint32_t reverse32(uint32_t in); SR_PRIV struct dev_context *ols_dev_new(void); SR_PRIV struct sr_dev_inst *get_metadata(struct sr_serial_dev_inst *serial); SR_PRIV int ols_set_samplerate(const struct sr_dev_inst *sdi, - uint64_t samplerate, - const struct sr_samplerates *samplerates); + uint64_t samplerate); SR_PRIV void abort_acquisition(const struct sr_dev_inst *sdi); SR_PRIV int ols_receive_data(int fd, int revents, void *cb_data);