X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhwdriver.c;h=349e65e9299f5caa1e0afa3cfaa19aae36903561;hb=33306b13acdc34fb50b35a56d362f1ab56fc0afd;hp=f5b5b2574a9f9115863c9f0aeed70ed23e237bdf;hpb=3d70d77709b023499b09e7d0f0e3c20f3c58f140;p=libsigrok.git diff --git a/src/hwdriver.c b/src/hwdriver.c index f5b5b257..349e65e9 100644 --- a/src/hwdriver.c +++ b/src/hwdriver.c @@ -71,6 +71,8 @@ static struct sr_key_info sr_key_info_config[] = { "Serial communication", NULL}, {SR_CONF_MODBUSADDR, SR_T_UINT64, "modbusaddr", "Modbus slave address", NULL}, + {SR_CONF_FORCE_DETECT, SR_T_STRING, "force_detect", + "Forced detection", NULL}, /* Device (or channel group) configuration */ {SR_CONF_SAMPLERATE, SR_T_UINT64, "samplerate", @@ -181,6 +183,34 @@ static struct sr_key_info sr_key_info_config[] = { "Under-voltage condition threshold", NULL}, {SR_CONF_TRIGGER_LEVEL, SR_T_FLOAT, "triggerlevel", "Trigger level", NULL}, + {SR_CONF_EXTERNAL_CLOCK_SOURCE, SR_T_STRING, "external_clock_source", + "External clock source", NULL}, + {SR_CONF_OFFSET, SR_T_FLOAT, "offset", + "Offset", NULL}, + {SR_CONF_TRIGGER_PATTERN, SR_T_STRING, "triggerpattern", + "Trigger pattern", NULL}, + {SR_CONF_HIGH_RESOLUTION, SR_T_BOOL, "highresolution", + "High resolution", NULL}, + {SR_CONF_PEAK_DETECTION, SR_T_BOOL, "peakdetection", + "Peak detection", NULL}, + {SR_CONF_LOGIC_THRESHOLD, SR_T_STRING, "logic_threshold", + "Logic threshold (predefined)", NULL}, + {SR_CONF_LOGIC_THRESHOLD_CUSTOM, SR_T_FLOAT, "logic_threshold_custom", + "Logic threshold (custom)", NULL}, + {SR_CONF_RANGE, SR_T_STRING, "range", + "Range", NULL}, + {SR_CONF_DIGITS, SR_T_STRING, "digits", + "Digits", NULL}, + {SR_CONF_PHASE, SR_T_FLOAT, "phase", + "Phase", NULL}, + {SR_CONF_DUTY_CYCLE, SR_T_FLOAT, "output_duty_cycle", + "Duty Cycle", NULL}, + {SR_CONF_POWER, SR_T_FLOAT, "power", + "Power", NULL}, + {SR_CONF_POWER_TARGET, SR_T_FLOAT, "power_target", + "Power Target", NULL}, + {SR_CONF_RESISTANCE_TARGET, SR_T_FLOAT, "resistance_target", + "Resistance Target", NULL}, /* Special stuff */ {SR_CONF_SESSIONFILE, SR_T_STRING, "sessionfile", @@ -252,6 +282,8 @@ static struct sr_key_info sr_key_info_mq[] = { {SR_MQ_APPARENT_POWER, 0, "apparent_power", "Apparent power", NULL}, {SR_MQ_MASS, 0, "mass", "Mass", NULL}, {SR_MQ_HARMONIC_RATIO, 0, "harmonic_ratio", "Harmonic ratio", NULL}, + {SR_MQ_ENERGY, 0, "energy", "Energy", NULL}, + {SR_MQ_ELECTRIC_CHARGE, 0, "electric_charge", "Electric charge", NULL}, ALL_ZERO }; @@ -567,6 +599,12 @@ SR_PRIV void sr_hw_cleanup_all(const struct sr_context *ctx) * * A floating reference can be passed in for data. * + * @param key The config key to use. + * @param data The GVariant data to use. + * + * @return The newly allocated struct sr_config. This function is assumed + * to never fail. + * * @private */ SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data) @@ -635,7 +673,8 @@ SR_PRIV int sr_dev_acquisition_stop(struct sr_dev_inst *sdi) } static void log_key(const struct sr_dev_inst *sdi, - const struct sr_channel_group *cg, uint32_t key, int op, GVariant *data) + const struct sr_channel_group *cg, uint32_t key, unsigned int op, + GVariant *data) { const char *opstr; const struct sr_key_info *srci; @@ -657,7 +696,7 @@ static void log_key(const struct sr_dev_inst *sdi, static int check_key(const struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg, - uint32_t key, int op, GVariant *data) + uint32_t key, unsigned int op, GVariant *data) { const struct sr_key_info *srci; gsize num_opts, i;