#define VENDOR_MOTECH "Motech"
/** Driver scanning options. */
-static const uint32_t hwopts[] = {
+static const uint32_t scanopts[] = {
SR_CONF_CONN,
SR_CONF_SERIALCOMM,
};
/** Hardware capabilities generic. */
-static const uint32_t hwcaps[] = {
+static const uint32_t devopts[] = {
/* Device class */
SR_CONF_POWER_SUPPLY,
/* Aquisition modes. */
- SR_CONF_LIMIT_SAMPLES,
- SR_CONF_LIMIT_MSEC,
SR_CONF_CONTINUOUS,
+ SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET,
+ SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET,
/* Device configuration */
- SR_CONF_OUTPUT_CHANNEL_CONFIG,
+ SR_CONF_OUTPUT_CHANNEL_CONFIG | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
};
/** Hardware capabilities channel 1, 2. */
-static const uint32_t hwcaps_ch12[] = {
- SR_CONF_OUTPUT_VOLTAGE,
- SR_CONF_OUTPUT_VOLTAGE_MAX,
- SR_CONF_OUTPUT_CURRENT,
- SR_CONF_OUTPUT_CURRENT_MAX,
- SR_CONF_OUTPUT_ENABLED,
+static const uint32_t devopts_ch12[] = {
+ SR_CONF_OUTPUT_VOLTAGE | SR_CONF_GET,
+ SR_CONF_OUTPUT_VOLTAGE_MAX | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_OUTPUT_CURRENT | SR_CONF_GET,
+ SR_CONF_OUTPUT_CURRENT_MAX | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_OUTPUT_ENABLED | SR_CONF_GET | SR_CONF_SET,
};
/** Hardware capabilities channel 3. (LPS-304/305 only). */
-static const uint32_t hwcaps_ch3[] = {
- SR_CONF_OUTPUT_VOLTAGE,
- SR_CONF_OUTPUT_ENABLED,
+static const uint32_t devopts_ch3[] = {
+ SR_CONF_OUTPUT_VOLTAGE | SR_CONF_GET,
+ SR_CONF_OUTPUT_ENABLED | SR_CONF_GET | SR_CONF_SET,
};
static const char *channel_modes[] = {
sr_spew("lps_send_va: \"%s\"", buf);
- retc = serial_write_nonblocking(serial, buf, strlen(buf));
+ retc = serial_write_blocking(serial, buf, strlen(buf));
if (retc < 0)
return SR_ERR;
if (!(serial = sr_serial_dev_inst_new(conn, serialcomm)))
return NULL;
- if (serial_open(serial, SERIAL_RDWR | SERIAL_NONBLOCK) != SR_OK)
+ if (serial_open(serial, SERIAL_RDWR) != SR_OK)
goto exit_err;
/* Query and verify model string. */
switch (key) {
case SR_CONF_SCAN_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- hwopts, ARRAY_SIZE(hwopts), sizeof(uint32_t));
+ scanopts, ARRAY_SIZE(scanopts), sizeof(uint32_t));
return SR_OK;
default:
if (sdi == NULL)
switch (key) {
case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- hwcaps, ARRAY_SIZE(hwcaps), sizeof(uint32_t));
+ devopts, ARRAY_SIZE(devopts), sizeof(uint32_t));
return SR_OK;
case SR_CONF_OUTPUT_CHANNEL_CONFIG:
if (devc->model->modelid <= LPS_303) {
case SR_CONF_DEVICE_OPTIONS:
if ((ch_idx == 0) || (ch_idx == 1)) /* CH1, CH2 */
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- hwcaps_ch12, ARRAY_SIZE(hwcaps_ch12), sizeof(uint32_t));
+ devopts_ch12, ARRAY_SIZE(devopts_ch12), sizeof(uint32_t));
else /* Must be CH3 */
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- hwcaps_ch3, ARRAY_SIZE(hwcaps_ch3), sizeof(uint32_t));
+ devopts_ch3, ARRAY_SIZE(devopts_ch3), sizeof(uint32_t));
break;
case SR_CONF_OUTPUT_VOLTAGE_MAX:
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);