]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/siglent-sds/protocol.h
siglent-sds: Consistently use gboolean/TRUE/FALSE.
[libsigrok.git] / src / hardware / siglent-sds / protocol.h
index ea956e59d077479d8d9e4c045518c483b8811334..89abaf640b9331c347897190c947f0936f3d82b6 100644 (file)
@@ -20,7 +20,6 @@
 #ifndef LIBSIGROK_HARDWARE_SIGLENT_SDS_PROTOCOL_H
 #define LIBSIGROK_HARDWARE_SIGLENT_SDS_PROTOCOL_H
 
-#include <stdbool.h>
 #include <stdint.h>
 #include <glib.h>
 #include <libsigrok/libsigrok.h>
@@ -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)
 #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,6 +111,8 @@ struct dev_context {
        uint64_t analog_frame_size;
        uint64_t digital_frame_size;
        uint64_t num_samples;
+       uint64_t memory_depth_analog;
+       uint64_t memory_depth_digital;
        long block_header_size;
        float samplerate;
 
@@ -148,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,