]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hantek-6xxx/protocol.h
hantek-6xxx: FIFO sampling
[libsigrok.git] / src / hardware / hantek-6xxx / protocol.h
index 6e87079c82efcdcccd598f58dd5fa035ed8dca28..a106fb4b5d6999d1dfd161646901933504a28bdb 100644 (file)
@@ -31,7 +31,7 @@
 #define MAX_RENUM_DELAY_MS     3000
 
 #define DEFAULT_VOLTAGE                2
-#define DEFAULT_COUPLING        COUPLING_DC
+#define DEFAULT_COUPLING       COUPLING_DC
 #define DEFAULT_SAMPLERATE     SR_MHZ(8)
 
 #define NUM_CHANNELS           2
@@ -43,7 +43,7 @@
        SR_KHZ(100),
 
 #define SAMPLERATE_REGS \
-       48, 30, 24, 16, 8,  4, 1, 50, 20, 10,
+       48, 30, 24, 16, 8, 4, 1, 50, 20, 10,
 
 #define VDIV_VALUES \
        { 100, 1000 }, \
 #define VDIV_MULTIPLIER                10
 
 /* Weird flushing needed for filtering glitch away. */
-#define FLUSH_PACKET_SIZE      2600
+#define FLUSH_PACKET_SIZE      1024
 
-#define MIN_PACKET_SIZE                600
+#define MIN_PACKET_SIZE                512
+#ifdef _WIN32
+#define MAX_PACKET_SIZE                (2 * 1024 * 1024)
+#else
 #define MAX_PACKET_SIZE                (12 * 1024 * 1024)
+#endif
 
 #define HANTEK_EP_IN           0x86
 #define USB_INTERFACE          0
@@ -94,14 +98,17 @@ struct hantek_6xxx_profile {
        /* VID/PID after firmware upload */
        uint16_t fw_vid;
        uint16_t fw_pid;
+       uint16_t fw_prod_ver;
        const char *vendor;
        const char *model;
        const char *firmware;
+       const char **coupling_vals;
+       uint8_t coupling_tab_size;
+       gboolean has_coupling;
 };
 
 struct dev_context {
        const struct hantek_6xxx_profile *profile;
-       void *cb_data;
        GSList *enabled_channels;
        /*
         * We can't keep track of an FX2-based device after upgrading
@@ -124,6 +131,9 @@ struct dev_context {
        gboolean ch_enabled[NUM_CHANNELS];
        int voltage[NUM_CHANNELS];
        int coupling[NUM_CHANNELS];
+       const char **coupling_vals;
+       uint8_t coupling_tab_size;
+       gboolean has_coupling;
        uint64_t samplerate;
 
        uint64_t limit_msec;