* ASIX SIGMA Logic Analyzer Driver
*/
-#include "config.h"
#include <glib.h>
#include <glib/gstdio.h>
#include <ftdi.h>
#define USB_MODEL_NAME "SIGMA"
#define USB_MODEL_VERSION ""
#define TRIGGER_TYPES "rf10"
+#define NUM_PROBES 16
static GSList *device_instances = NULL;
0,
};
+static const char *probe_names[NUM_PROBES + 1] = {
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "10",
+ "11",
+ "12",
+ "13",
+ "14",
+ "15",
+ NULL,
+};
+
static struct sr_samplerates samplerates = {
SR_KHZ(200),
SR_MHZ(200),
info = sdi;
break;
case SR_DI_NUM_PROBES:
- info = GINT_TO_POINTER(16);
+ info = GINT_TO_POINTER(NUM_PROBES);
+ break;
+ case SR_DI_PROBE_NAMES:
+ info = probe_names;
break;
case SR_DI_SAMPLERATES:
info = &samplerates;
tosend = MIN(2048, n - sent);
packet.type = SR_DF_LOGIC;
- /* TODO: fill in timeoffset and duration */
- packet.timeoffset = 0;
- packet.duration = 0;
packet.payload = &logic;
logic.length = tosend * sizeof(uint16_t);
logic.unitsize = 2;
if (tosend > 0) {
packet.type = SR_DF_LOGIC;
- /* TODO: fill in timeoffset and duration */
- packet.timeoffset = 0;
- packet.duration = 0;
packet.payload = &logic;
logic.length = tosend * sizeof(uint16_t);
logic.unitsize = 2;
/* Only send trigger if explicitly enabled. */
if (sigma->use_triggers) {
packet.type = SR_DF_TRIGGER;
- /* TODO: fill in timeoffset only */
- packet.timeoffset = 0;
- packet.duration = 0;
sr_session_bus(sigma->session_id, &packet);
}
}
if (tosend > 0) {
packet.type = SR_DF_LOGIC;
- /* TODO: fill in timeoffset and duration */
- packet.timeoffset = 0;
- packet.duration = 0;
packet.payload = &logic;
logic.length = tosend * sizeof(uint16_t);
logic.unitsize = 2;
sigma->state.state = SIGMA_DOWNLOAD;
}
-struct sr_device_plugin asix_sigma_plugin_info = {
+SR_PRIV struct sr_device_plugin asix_sigma_plugin_info = {
.name = "asix-sigma",
.longname = "ASIX SIGMA",
.api_version = 1,