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;
/** 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 -------------------------------------------*/
/**
*/
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. */
/* 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. */
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 */
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);
void *cb_data);
/* Dynamic */
- /** Device driver private data. Initialized by init(). */
- void *priv;
+ /** Device driver context, considered private. Initialized by init(). */
+ void *context;
};
/**
char *description;
};
-#include "proto.h"
-#include "version.h"
+#include <libsigrok/proto.h>
+#include <libsigrok/version.h>
#ifdef __cplusplus
}