X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fzeroplus-logic-cube%2Fanalyzer.c;h=4f86aa50e9d88f5f081597cb268e95cdc8f6ded4;hb=a56f1480949e84e94dad2afcdf9f758988a4aff9;hp=78db7baf68936757f19d2be0d8434e2253dcb045;hpb=ca070ed9a0237e5cea10e5dd974e06da62de890d;p=libsigrok.git diff --git a/hardware/zeroplus-logic-cube/analyzer.c b/hardware/zeroplus-logic-cube/analyzer.c index 78db7baf..4f86aa50 100644 --- a/hardware/zeroplus-logic-cube/analyzer.c +++ b/hardware/zeroplus-logic-cube/analyzer.c @@ -32,16 +32,17 @@ #include #include "analyzer.h" #include "gl_usb.h" +#include "libsigrok-internal.h" enum { HARD_DATA_CHECK_SUM = 0x00, PASS_WORD, - DEVICE_ID0 = 0x10, - DEVICE_ID1, + DEV_ID0 = 0x10, + DEV_ID1, START_STATUS = 0x20, - DEVICE_STATUS = 0x21, + DEV_STATUS = 0x21, FREQUENCY_REG0 = 0x30, FREQUENCY_REG1, FREQUENCY_REG2, @@ -241,6 +242,11 @@ static int __analyzer_set_freq(libusb_device_handle *devh, int freq, int scale) reg2 = 64; break; } + + sr_dbg("zp: Setting samplerate regs (freq=%d, scale=%d): " + "reg0: %d, reg1: %d, reg2: %d, reg3: %d.", + freq, scale, divisor, reg0, 0x02, reg2); + if (gl_reg_write(devh, FREQUENCY_REG0, divisor) < 0) return -1; /* Divisor maybe? */ @@ -319,7 +325,7 @@ SR_PRIV void analyzer_wait(libusb_device_handle *devh, int set, int unset) { int status; while (1) { - status = gl_reg_read(devh, DEVICE_STATUS); + status = gl_reg_read(devh, DEV_STATUS); if ((status & set) && ((status & unset) == 0)) return; } @@ -507,8 +513,7 @@ SR_PRIV void analyzer_set_triggerbar_address(unsigned int address) SR_PRIV unsigned int analyzer_read_id(libusb_device_handle *devh) { - return gl_reg_read(devh, DEVICE_ID1) << 8 | gl_reg_read(devh, - DEVICE_ID0); + return gl_reg_read(devh, DEV_ID1) << 8 | gl_reg_read(devh, DEV_ID0); } SR_PRIV unsigned int analyzer_get_stop_address(libusb_device_handle *devh)