static GSList *mic_scan(const char *conn, const char *serialcomm, int idx)
{
struct sr_dev_inst *sdi;
- struct drv_context *drvc;
struct dev_context *devc;
struct sr_serial_dev_inst *serial;
- GSList *devices;
serial = sr_serial_dev_inst_new(conn, serialcomm);
if (serial_open(serial, SERIAL_RDWR) != SR_OK)
return NULL;
- drvc = mic_devs[idx].di->context;
- devices = NULL;
serial_flush(serial);
/* TODO: Query device type. */
sdi->inst_type = SR_INST_SERIAL;
sdi->conn = serial;
sdi->priv = devc;
- sdi->driver = mic_devs[idx].di;
sr_channel_new(sdi, 0, SR_CHANNEL_ANALOG, TRUE, "Temperature");
if (mic_devs[idx].has_humidity)
sr_channel_new(sdi, 1, SR_CHANNEL_ANALOG, TRUE, "Humidity");
- drvc->instances = g_slist_append(drvc->instances, sdi);
- devices = g_slist_append(devices, sdi);
-
serial_close(serial);
- return devices;
+ return std_scan_complete(mic_devs[idx].di, g_slist_append(NULL, sdi));
}
static GSList *scan(GSList *options, int idx)
devc = sdi->priv;
sr_sw_limits_acquisition_start(&devc->limits);
- std_session_send_df_header(sdi, LOG_PREFIX);
+ std_session_send_df_header(sdi);
/* Poll every 100ms, or whenever some data comes in. */
serial = sdi->conn;
static int dev_acquisition_stop(struct sr_dev_inst *sdi)
{
return std_serial_dev_acquisition_stop(sdi, std_serial_dev_close,
- sdi->conn, LOG_PREFIX);
+ sdi->conn);
}
/* Driver-specific API function wrappers */