X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fsiglent-sds%2Fprotocol.h;h=89abaf640b9331c347897190c947f0936f3d82b6;hb=968b1a23f23e1f22f7e438a39e3235b4f21b8b14;hp=b0c926ed0ec9a7cf8a75aebc274419504696a23c;hpb=e5b41b8d7e60cac101fe4a1657da2f54597ff6a1;p=libsigrok.git diff --git a/src/hardware/siglent-sds/protocol.h b/src/hardware/siglent-sds/protocol.h index b0c926ed..89abaf64 100644 --- a/src/hardware/siglent-sds/protocol.h +++ b/src/hardware/siglent-sds/protocol.h @@ -20,7 +20,6 @@ #ifndef LIBSIGROK_HARDWARE_SIGLENT_SDS_PROTOCOL_H #define LIBSIGROK_HARDWARE_SIGLENT_SDS_PROTOCOL_H -#include #include #include #include @@ -32,7 +31,8 @@ //#define ACQ_BUFFER_SIZE (6000000) #define ACQ_BUFFER_SIZE (18000000) -#define SIGLENT_HEADER_SIZE 351 +#define SIGLENT_HEADER_SIZE 363 +#define SIGLENT_DIG_HEADER_SIZE 346 /* Maximum number of samples to retrieve at once. */ #define ACQ_BLOCK_SIZE (30 * 1000) @@ -40,13 +40,15 @@ #define MAX_ANALOG_CHANNELS 4 #define MAX_DIGITAL_CHANNELS 16 -#define DEVICE_STATE_STOPPED 0 /* Scope is in stopped state */ -#define DEVICE_STATE_DATA_ACQ 1 /* A new signal has been acquired */ -#define DEVICE_STATE_TRIG_RDY 8192 /* Trigger is ready */ +#define DEVICE_STATE_STOPPED 0 /* Scope is in stopped state bit */ +#define DEVICE_STATE_DATA_ACQ 1 /* A new signal has been acquired bit */ +#define DEVICE_STATE_TRIG_RDY 8192 /* Trigger is ready bit */ +#define DEVICE_STATE_DATA_TRIG_RDY 8193 /* Trigger is ready bit */ enum protocol_version { SPO_MODEL, NON_SPO_MODEL, + ESERIES, }; enum data_source { @@ -75,7 +77,7 @@ struct siglent_sds_model { const char *name; uint64_t min_timebase[2]; unsigned int analog_channels; - bool has_digital; + gboolean has_digital; unsigned int digital_channels; }; @@ -109,7 +111,8 @@ struct dev_context { uint64_t analog_frame_size; uint64_t digital_frame_size; uint64_t num_samples; - uint64_t memory_depth; + uint64_t memory_depth_analog; + uint64_t memory_depth_digital; long block_header_size; float samplerate; @@ -149,6 +152,7 @@ struct dev_context { /* Acq buffers used for reading from the scope and sending data to app. */ unsigned char *buffer; float *data; + GArray *dig_buffer; }; SR_PRIV int siglent_sds_config_set(const struct sr_dev_inst *sdi,