return SR_OK;
}
-static int hw_init(void)
+static int hw_init(struct sr_context *sr_ctx)
{
struct drv_context *drvc;
return SR_ERR_MALLOC;
}
+ drvc->sr_ctx = sr_ctx;
di->priv = drvc;
return SR_OK;
err_close_ftdic:
(void) la8_close(devc); /* Log, but ignore errors. */
err_free_ftdic:
- free(devc->ftdic); /* NOT g_free()! */
+ ftdi_free(devc->ftdic); /* NOT free() or g_free()! */
err_free_final_buf:
g_free(devc->final_buf);
err_free_devc:
case SR_DI_HWCAPS:
*data = hwcaps;
break;
- case SR_DI_NUM_PROBES:
- *data = GINT_TO_POINTER(NUM_PROBES);
- sr_spew("%s: Returning number of probes: %d.", __func__,
- NUM_PROBES);
- break;
- case SR_DI_PROBE_NAMES:
- *data = probe_names;
- sr_spew("%s: Returning probenames.", __func__);
- break;
case SR_DI_SAMPLERATES:
fill_supported_samplerates_if_needed();
*data = &samplerates;
struct dev_context *devc;
struct sr_datafeed_packet packet;
struct sr_datafeed_header header;
- struct sr_datafeed_meta_logic meta;
uint8_t buf[4];
int bytes_written;
gettimeofday(&header.starttime, NULL);
sr_session_send(devc->session_dev_id, &packet);
- /* Send metadata about the SR_DF_LOGIC packets to come. */
- packet.type = SR_DF_META_LOGIC;
- packet.payload = &meta;
- meta.samplerate = devc->cur_samplerate;
- meta.num_probes = NUM_PROBES;
- sr_session_send(devc->session_dev_id, &packet);
-
/* Time when we should be done (for detecting trigger timeouts). */
devc->done = (devc->divcount + 1) * 0.08388608 + time(NULL)
+ devc->trigger_timeout;