#define SERIALCOMM "2400/8n1/dtr=1/rts=1/flow=0"
-#define VENDOR_MOTECH "Motech"
-
static const uint32_t scanopts[] = {
SR_CONF_CONN,
SR_CONF_SERIALCOMM,
};
/** Hardware capabilities channel 1, 2. */
-static const uint32_t devopts_ch12[] = {
+static const uint32_t devopts_cg_ch12[] = {
SR_CONF_VOLTAGE | SR_CONF_GET,
SR_CONF_VOLTAGE_TARGET | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_CURRENT | SR_CONF_GET,
};
/** Hardware capabilities channel 3 (LPS-304/305 only). */
-static const uint32_t devopts_ch3[] = {
+static const uint32_t devopts_cg_ch3[] = {
SR_CONF_VOLTAGE | SR_CONF_GET,
SR_CONF_ENABLED | SR_CONF_GET | SR_CONF_SET,
};
sdi = g_malloc0(sizeof(struct sr_dev_inst));
sdi->status = SR_ST_INACTIVE;
- sdi->vendor = g_strdup(VENDOR_MOTECH);
+ sdi->vendor = g_strdup("Motech");
sdi->model = g_strdup(models[modelid].modelstr);
sdi->version = g_strdup(verstr);
sdi->inst_type = SR_INST_SERIAL;
{
struct dev_context *devc;
struct sr_channel *ch;
- int ch_idx, i;
- GVariant *gvar;
- GVariantBuilder gvb;
+ int ch_idx;
devc = (sdi) ? sdi->priv : NULL;
*data = g_variant_new_strv(channel_modes, 1);
} else {
/* The other models support all modes. */
- *data = g_variant_new_strv(channel_modes, ARRAY_SIZE(channel_modes));
+ *data = g_variant_new_strv(ARRAY_AND_SIZE(channel_modes));
}
return SR_OK;
default:
switch (key) {
case SR_CONF_DEVICE_OPTIONS:
if ((ch_idx == 0) || (ch_idx == 1)) /* CH1, CH2 */
- *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- devopts_ch12, ARRAY_SIZE(devopts_ch12), sizeof(uint32_t));
+ *data = std_gvar_array_u32(ARRAY_AND_SIZE(devopts_cg_ch12));
else /* Must be CH3 */
- *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- devopts_ch3, ARRAY_SIZE(devopts_ch3), sizeof(uint32_t));
+ *data = std_gvar_array_u32(ARRAY_AND_SIZE(devopts_cg_ch3));
break;
case SR_CONF_VOLTAGE_TARGET:
- g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
- /* Min, max, step. */
- for (i = 0; i < 3; i++) {
- gvar = g_variant_new_double(devc->model->channels[ch_idx].voltage[i]);
- g_variant_builder_add_value(&gvb, gvar);
- }
- *data = g_variant_builder_end(&gvb);
+ *data = std_gvar_min_max_step_array(devc->model->channels[ch_idx].voltage);
break;
case SR_CONF_CURRENT_LIMIT:
- g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
- /* Min, max, step. */
- for (i = 0; i < 3; i++) {
- gvar = g_variant_new_double(devc->model->channels[ch_idx].current[i]);
- g_variant_builder_add_value(&gvb, gvar);
- }
- *data = g_variant_builder_end(&gvb);
+ *data = std_gvar_min_max_step_array(devc->model->channels[ch_idx].current);
break;
default:
return SR_ERR_NA;