SR_T_UINT64_RANGE,
SR_T_DOUBLE_RANGE,
SR_T_INT32,
+ SR_T_MQLIST,
};
/** Value for sr_datafeed_packet.type. */
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;
GVariant *data;
};
-/** Information about a config key. */
-struct sr_config_info {
- /** Config key like SR_CONF_CONN, etc. */
+enum sr_keytype {
+ SR_KEY_CONFIG,
+ SR_KEY_MQ,
+ SR_KEY_MQFLAGS,
+};
+
+/** Information about a key. */
+struct sr_key_info {
+ /** Config key like SR_CONF_CONN, MQ value like SR_MQ_VOLTAGE, etc. */
uint32_t key;
- /** Data type like SR_T_STRING, etc. */
+ /** Data type like SR_T_STRING, etc if applicable. */
int datatype;
- /** Id string, e.g. "serialcomm". */
+ /** Short, lowercase ID string, e.g. "serialcomm", "voltage". */
char *id;
- /** Name, e.g. "Serial communication". */
+ /** Full capitalized name, e.g. "Serial communication". */
char *name;
/** Verbose description (unused currently). */
char *description;
/** 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 -------------------------------------------*/
/**
/* 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. */
+ /** Device instance type for Modbus devices. */
SR_INST_MODBUS,
};
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
}