]> sigrok.org Git - libsigrok.git/blobdiff - hardware/zeroplus-logic-cube/analyzer.c
rigol-ds: DS1000 series still needs the stupid delay.
[libsigrok.git] / hardware / zeroplus-logic-cube / analyzer.c
index 1bf1f65b2abdb29593642b8147784a7fb713b2ef..47dcfc8b2574200b0b9069edc96384532c9bc9d2 100644 (file)
@@ -118,6 +118,7 @@ static int g_memory_size = MEMORY_SIZE_8K;
 static int g_ramsize_triggerbar_addr = 2 * 1024;
 static int g_triggerbar_addr = 0;
 static int g_compression = COMPRESSION_NONE;
+static int g_thresh = 0x31; /* 1.5V */
 
 /* Maybe unk specifies an "endpoint" or "register" of sorts. */
 static int analyzer_write_status(libusb_device_handle *devh, unsigned char unk,
@@ -465,10 +466,10 @@ SR_PRIV void analyzer_configure(libusb_device_handle *devh)
        __analyzer_set_trigger_count(devh, g_trigger_count);
 
        /* Set_Trigger_Level */
-       gl_reg_write(devh, TRIGGER_LEVEL0, 0x31);
-       gl_reg_write(devh, TRIGGER_LEVEL1, 0x31);
-       gl_reg_write(devh, TRIGGER_LEVEL2, 0x31);
-       gl_reg_write(devh, TRIGGER_LEVEL3, 0x31);
+       gl_reg_write(devh, TRIGGER_LEVEL0, g_thresh);
+       gl_reg_write(devh, TRIGGER_LEVEL1, g_thresh);
+       gl_reg_write(devh, TRIGGER_LEVEL2, g_thresh);
+       gl_reg_write(devh, TRIGGER_LEVEL3, g_thresh);
 
        /* Size of actual memory >> 2 */
        __analyzer_set_ramsize_trigger_address(devh, g_ramsize_triggerbar_addr);
@@ -564,11 +565,21 @@ SR_PRIV void analyzer_set_ramsize_trigger_address(unsigned int address)
        g_ramsize_triggerbar_addr = address;
 }
 
+SR_PRIV unsigned int analyzer_get_ramsize_trigger_address(void)
+{
+       return g_ramsize_triggerbar_addr;
+}
+
 SR_PRIV void analyzer_set_triggerbar_address(unsigned int address)
 {
        g_triggerbar_addr = address;
 }
 
+SR_PRIV unsigned int analyzer_get_triggerbar_address(void)
+{
+       return g_triggerbar_addr;
+}
+
 SR_PRIV unsigned int analyzer_read_status(libusb_device_handle *devh)
 {
        return gl_reg_read(devh, DEV_STATUS);
@@ -602,6 +613,11 @@ SR_PRIV void analyzer_set_compression(unsigned int type)
        g_compression = type;
 }
 
+SR_PRIV void analyzer_set_voltage_threshold(int thresh)
+{
+       g_thresh = thresh;
+}
+
 SR_PRIV void analyzer_wait_button(libusb_device_handle *devh)
 {
        analyzer_wait(devh, STATUS_BUTTON_PRESSED, 0);