X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrok%2Flibsigrok.h;h=0e35957f05ee76a95868136e92ed6069c101f2db;hb=c1aae90038456a61d0f9313d34e6107c3440d3e7;hp=bc754f67fb5977938a7abb45e1b817e3e3cb6acc;hpb=7a0b98b544ca00f351295f21f895442680b1c014;p=libsigrok.git diff --git a/include/libsigrok/libsigrok.h b/include/libsigrok/libsigrok.h index bc754f67..0e35957f 100644 --- a/include/libsigrok/libsigrok.h +++ b/include/libsigrok/libsigrok.h @@ -518,6 +518,12 @@ struct sr_option { GSList *values; }; +/** Output module flags. */ +enum sr_output_flag { + /** If set, this output module writes the output itself. */ + SR_OUTPUT_INTERNAL_IO_HANDLING = 0x01, +}; + struct sr_input; struct sr_input_module; struct sr_output; @@ -624,6 +630,9 @@ enum sr_configkey { /** The device can act as an LCR meter. */ SR_CONF_LCRMETER, + /** The device can act as an electronic load. */ + SR_CONF_ELECTRONIC_LOAD, + /*--- Driver scan options -------------------------------------------*/ /** @@ -659,6 +668,14 @@ enum sr_configkey { */ SR_CONF_SERIALCOMM, + /** + * Modbus slave address specification. + * + * This is always an optional parameter, since a driver typically + * knows the default slave address of the device. + */ + SR_CONF_MODBUSADDR, + /*--- Device (or channel group) configuration -----------------------*/ /** The device supports setting its samplerate, in Hz. */ @@ -883,6 +900,9 @@ enum sr_configkey { /* Output frequency target in Hz. */ SR_CONF_OUTPUT_FREQUENCY_TARGET, + /** Over-temperature protection (OTP) active. */ + SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE, + /*--- Special stuff -------------------------------------------------*/ /** Scan options supported by the driver. */ @@ -975,6 +995,8 @@ enum sr_dev_inst_type { SR_INST_SCPI, /** Device-instance type for user-created "devices". */ SR_INST_USER, + /** Device instance type for Modbus devices. */ + SR_INST_MODBUS, }; /** Device instance status, struct sr_dev_inst.status */ @@ -1007,13 +1029,13 @@ struct sr_dev_driver { int (*cleanup) (const struct sr_dev_driver *driver); /** Scan for devices. Driver should do all initialisation required. * Can be called several times, e.g. with different port options. - * \retval NULL Error or no devices found. - * \retval other GSList of a struct sr_dev_inst for each device. + * @retval NULL Error or no devices found. + * @retval other GSList of a struct sr_dev_inst for each device. * Must be freed by caller! */ GSList *(*scan) (struct sr_dev_driver *driver, GSList *options); /** Get list of device instances the driver knows about. - * \returns NULL or GSList of a struct sr_dev_inst for each device. + * @returns NULL or GSList of a struct sr_dev_inst for each device. * Must not be freed by caller! */ GSList *(*dev_list) (const struct sr_dev_driver *driver); @@ -1057,8 +1079,8 @@ struct sr_dev_driver { void *cb_data); /* Dynamic */ - /** Device driver private data. Initialized by init(). */ - void *priv; + /** Device driver context, considered private. Initialized by init(). */ + void *context; }; /** @@ -1077,8 +1099,8 @@ struct sr_serial_port { char *description; }; -#include "proto.h" -#include "version.h" +#include +#include #ifdef __cplusplus }