uint64_t limit_samples;
/** TODO */
- gpointer session_id;
+ void *session_dev_id;
/**
* A buffer containing some (mangled) samples from the device.
/* Function prototypes. */
static int la8_close_usb_reset_sequencer(struct context *ctx);
-static int hw_dev_acquisition_stop(int dev_index, gpointer session_data);
+static int hw_dev_acquisition_stop(int dev_index, void *cb_data);
static int la8_reset(struct context *ctx);
static void fill_supported_samplerates_if_needed(void)
ctx->cur_samplerate = SR_MHZ(100); /* 100MHz == max. samplerate */
ctx->limit_msec = 0;
ctx->limit_samples = 0;
- ctx->session_id = NULL;
+ ctx->session_dev_id = NULL;
memset(ctx->mangled_buf, 0, BS);
ctx->final_buf = NULL;
ctx->trigger_pattern = 0x00; /* Value irrelevant, see trigger_mask. */
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) {
sr_err("la8: %s: sdi was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
if (!(ctx = sdi->priv)) {
sr_err("la8: %s: sdi->priv was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
sr_dbg("la8: Opening LA8 device (%04x:%04x).", USB_VENDOR_ID,
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) {
sr_err("la8: %s: sdi was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
if (!(ctx = sdi->priv)) {
sr_err("la8: %s: sdi->priv was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
sr_dbg("la8: Closing device.");
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) {
sr_err("la8: %s: sdi was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
if (!(ctx = sdi->priv)) {
sr_err("la8: %s: sdi->priv was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
sr_spew("la8: %s: dev_index %d, hwcap %d", __func__, dev_index, hwcap);
logic.length = BS;
logic.unitsize = 1;
logic.data = ctx->final_buf + (block * BS);
- sr_session_bus(ctx->session_id, &packet);
+ sr_session_send(ctx->session_dev_id, &packet);
return;
}
logic.length = trigger_point;
logic.unitsize = 1;
logic.data = ctx->final_buf + (block * BS);
- sr_session_bus(ctx->session_id, &packet);
+ sr_session_send(ctx->session_dev_id, &packet);
}
/* Send the SR_DF_TRIGGER packet to the session bus. */
(block * BS) + trigger_point);
packet.type = SR_DF_TRIGGER;
packet.payload = NULL;
- sr_session_bus(ctx->session_id, &packet);
+ sr_session_send(ctx->session_dev_id, &packet);
/* If at least one sample is located after the trigger... */
if (trigger_point < (BS - 1)) {
logic.length = BS - trigger_point;
logic.unitsize = 1;
logic.data = ctx->final_buf + (block * BS) + trigger_point;
- sr_session_bus(ctx->session_id, &packet);
+ sr_session_send(ctx->session_dev_id, &packet);
}
}
-static int receive_data(int fd, int revents, void *session_data)
+static int receive_data(int fd, int revents, void *cb_data)
{
int i, ret;
struct sr_dev_inst *sdi;
(void)fd;
(void)revents;
- if (!(sdi = session_data)) {
- sr_err("la8: %s: session_data was NULL", __func__);
+ if (!(sdi = cb_data)) {
+ sr_err("la8: %s: cb_data was NULL", __func__);
return FALSE;
}
/* Get one block of data. */
if ((ret = la8_read_block(ctx)) < 0) {
sr_err("la8: %s: la8_read_block error: %d", __func__, ret);
- hw_dev_acquisition_stop(sdi->index, session_data);
+ hw_dev_acquisition_stop(sdi->index, sdi);
return FALSE;
}
for (i = 0; i < NUM_BLOCKS; i++)
send_block_to_session_bus(ctx, i);
- hw_dev_acquisition_stop(sdi->index, session_data);
+ hw_dev_acquisition_stop(sdi->index, sdi);
// return FALSE; /* FIXME? */
return TRUE;
}
-static int hw_dev_acquisition_start(int dev_index, gpointer session_data)
+static int hw_dev_acquisition_start(int dev_index, void *cb_data)
{
struct sr_dev_inst *sdi;
struct context *ctx;
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) {
sr_err("la8: %s: sdi was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
if (!(ctx = sdi->priv)) {
sr_err("la8: %s: sdi->priv was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
if (!ctx->ftdic) {
sr_err("la8: %s: ctx->ftdic was NULL", __func__);
- return SR_ERR_ARG;
+ return SR_ERR_BUG;
}
ctx->divcount = samplerate_to_divcount(ctx->cur_samplerate);
sr_dbg("la8: Acquisition started successfully.");
- ctx->session_id = session_data;
+ ctx->session_dev_id = cb_data;
/* Send header packet to the session bus. */
sr_dbg("la8: Sending SR_DF_HEADER.");
gettimeofday(&header.starttime, NULL);
header.samplerate = ctx->cur_samplerate;
header.num_logic_probes = NUM_PROBES;
- sr_session_bus(session_data, &packet);
+ sr_session_send(ctx->session_dev_id, &packet);
/* Time when we should be done (for detecting trigger timeouts). */
ctx->done = (ctx->divcount + 1) * 0.08388608 + time(NULL)
return SR_OK;
}
-static int hw_dev_acquisition_stop(int dev_index, gpointer session_data)
+static int hw_dev_acquisition_stop(int dev_index, void *cb_data)
{
struct sr_dev_inst *sdi;
struct context *ctx;
/* Send end packet to the session bus. */
sr_dbg("la8: Sending SR_DF_END.");
packet.type = SR_DF_END;
- sr_session_bus(session_data, &packet);
+ sr_session_send(cb_data, &packet);
return SR_OK;
}
-SR_PRIV struct sr_dev_plugin chronovu_la8_plugin_info = {
+SR_PRIV struct sr_dev_driver chronovu_la8_driver_info = {
.name = "chronovu-la8",
.longname = "ChronoVu LA8",
.api_version = 1,