From d1074befa396b88498faf78f50298f18b0935b63 Mon Sep 17 00:00:00 2001 From: sys64738 Date: Thu, 24 Jun 2021 04:14:23 +0200 Subject: [PATCH] bleh --- src/hardware/ikalogic-scanaquad/api.c | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/hardware/ikalogic-scanaquad/api.c b/src/hardware/ikalogic-scanaquad/api.c index 599f7d1f..ab681b94 100644 --- a/src/hardware/ikalogic-scanaquad/api.c +++ b/src/hardware/ikalogic-scanaquad/api.c @@ -21,8 +21,59 @@ #include #include "protocol.h" +#define USB_VENDOR_ID 0x0403 +#define USB_DEVICE_ID 0x7fd0 + +#define USB_IPRODUCT_50 "ScanaQuad SQ50" + static struct sr_dev_driver ikalogic_scanaquad_driver_info; +static const uint32_t drvopts[] = { + SR_CONF_LOGIC_ANALYZER, +}; + +static const uint32_t devopts[] = { + // * pattern mode: how? + // * LIMIT_FRAMES vs LIMIT_SAMPLES? + // * VOLTAGE_THRESHSOLD vs LOGIC_THRESHOLD + // * VOLTAGE/VOLTAGE_TARGET: max? + // * triggers: TRIGGER_SLOPE vs TRIGGER_SOURCE vs TRIGGER_MATCH vs TRIGGER_LEVEL vs TRIGGER_PATTERN + // * OUTPUT_FREQUENCY used in PATTERN_MODE? + // * DATALOG: effect? + SR_CONF_CONN | SR_CONF_GET, + SR_CONF_SAMPLERATE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, + SR_CONF_CAPTURE_RATIO | SR_CONF_GET | SR_CONF_SET, + SR_CONF_PATTERN_MODE | SR_CONF_GET | SR_CONF_SET, + SR_CONF_BUFFERSIZE | SR_CONF_GET | SR_CONF_SET, + SR_CONF_LOGIC_THRESHOLD | SR_CONFIG_GET | SR_CONFIG_SET | SR_CONFIG_LIST, + /* TODO: LOGIC_THRESHOLD_CUSTOM ? does the hw support this? */ + SR_CONF_OUTPUT_FREQUENCY | SR_CONFIG_GET | SR_CONFIG_SET | SR_CONFIG_LIST, + SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET, + SR_CONF_LIMIT_FRAMES | SR_CONF_GET | SR_CONF_SET, + SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET, + SR_CONF_DATALOG +}; + +static const char *channel_names[] = { + "1", "2", "3", "4" +}; + +static const uint64_t samplerates[] = { + /* TODO: can this be an arbitrary value? at least the settings + * blob makes it look like it can */ + SR_MHZ(50), SR_MHZ(25), SR_MHZ(10), SR_MHZ(5), SR_MHZ(1), + SR_KHZ(500), SR_KHZ(250), SR_KHZ(100), SR_KHZ(50), SR_KHZ(10) +}; + +static void clear_helper(struct dev_context *dc) +{ + +} +static int dev_clear(struct sr_dev_driver *di) +{ + return std_dev_clear_with_callback(di, (std_dev_clear_callback)clear_helper); +} + static GSList *scan(struct sr_dev_driver *di, GSList *options) { struct drv_context *drvc;