X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Frigol-ds1xx2%2Fprotocol.h;h=7419ab7b5f35b2bb7af837de9e2284f7785ad60a;hb=21d464a7e53efc9ac9810d9301a12b6a56fdb061;hp=4026fc162ac63788e209002de76ae43c91e6e0f8;hpb=254dd102e84a6f9e5a62be5172bb94cbca3da4e8;p=libsigrok.git diff --git a/hardware/rigol-ds1xx2/protocol.h b/hardware/rigol-ds1xx2/protocol.h index 4026fc16..7419ab7b 100644 --- a/hardware/rigol-ds1xx2/protocol.h +++ b/hardware/rigol-ds1xx2/protocol.h @@ -25,26 +25,32 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "rigol-ds1xx2: " -#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 "rigol-ds1xx2: " +#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 WAVEFORM_SIZE 600 +#define ANALOG_WAVEFORM_SIZE 600 +#define DIGITAL_WAVEFORM_SIZE 1210 /** Private, per-device-instance driver context. */ struct dev_context { + /* Device features */ + gboolean has_digital; + /* Acquisition settings */ - GSList *enabled_probes; + GSList *enabled_analog_probes; + GSList *enabled_digital_probes; uint64_t limit_frames; void *cb_data; /* Device settings */ - gboolean channels[2]; + gboolean analog_channels[2]; + gboolean digital_channels[16]; float timebase; float vdiv[2]; float vert_offset[2]; @@ -54,15 +60,13 @@ struct dev_context { char *coupling[2]; /* Operational state */ - char *device; - int fd; uint64_t num_frames; - uint64_t num_frame_samples; + uint64_t num_frame_bytes; struct sr_probe *channel_frame; }; SR_PRIV int rigol_ds1xx2_receive(int fd, int revents, void *cb_data); -SR_PRIV int rigol_ds1xx2_send(struct dev_context *devc, const char *format, ...); +SR_PRIV int rigol_ds1xx2_send(const struct sr_dev_inst *sdi, const char *format, ...); SR_PRIV int rigol_ds1xx2_get_dev_cfg(const struct sr_dev_inst *sdi); #endif