]> sigrok.org Git - libsigrok.git/blobdiff - src/libsigrok-internal.h
Change sr_dev_inst_new() to take no parameters.
[libsigrok.git] / src / libsigrok-internal.h
index c94e42932ea1ba5cd7dfad12b8b2f1b641efc8f1..f98a35a87f2bc4fc8baf9aae3bcc161f6c30a9b2 100644 (file)
@@ -490,9 +490,38 @@ enum {
 SR_PRIV struct sr_channel *sr_channel_new(int index, int type,
                gboolean enabled, const char *name);
 
+/** Device instance data */
+struct sr_dev_inst {
+       /** Device driver. */
+       struct sr_dev_driver *driver;
+       /** Device instance status. SR_ST_NOT_FOUND, etc. */
+       int status;
+       /** Device instance type. SR_INST_USB, etc. */
+       int inst_type;
+       /** Device vendor. */
+       char *vendor;
+       /** Device model. */
+       char *model;
+       /** Device version. */
+       char *version;
+       /** Serial number. */
+       char *serial_num;
+       /** Connection string to uniquely identify devices. */
+       char *connection_id;
+       /** List of channels. */
+       GSList *channels;
+       /** List of sr_channel_group structs */
+       GSList *channel_groups;
+       /** Device instance connection data (used?) */
+       void *conn;
+       /** Device instance private data (used?) */
+       void *priv;
+       /** Session to which this device is currently assigned. */
+       struct sr_session *session;
+};
+
 /* Generic device instances */
-SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status,
-               const char *vendor, const char *model, const char *version);
+SR_PRIV struct sr_dev_inst *sr_dev_inst_new(void);
 SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi);
 
 #ifdef HAVE_LIBUSB_1_0
@@ -631,6 +660,7 @@ typedef gboolean (*packet_valid_callback)(const uint8_t *buf);
 SR_PRIV int serial_open(struct sr_serial_dev_inst *serial, int flags);
 SR_PRIV int serial_close(struct sr_serial_dev_inst *serial);
 SR_PRIV int serial_flush(struct sr_serial_dev_inst *serial);
+SR_PRIV int serial_drain(struct sr_serial_dev_inst *serial);
 SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial,
                const void *buf, size_t count, unsigned int timeout_ms);
 SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial,
@@ -912,6 +942,21 @@ SR_PRIV gboolean sr_brymen_bm25x_packet_valid(const uint8_t *buf);
 SR_PRIV int sr_brymen_bm25x_parse(const uint8_t *buf, float *floatval,
                             struct sr_datafeed_analog *analog, void *info);
 
+/*--- hardware/dmm/ut71x.c --------------------------------------------------*/
+
+#define UT71X_PACKET_SIZE 11
+
+struct ut71x_info {
+       gboolean is_voltage, is_resistance, is_capacitance, is_temperature;
+       gboolean is_celsius, is_fahrenheit, is_current, is_continuity;
+       gboolean is_diode, is_frequency, is_duty_cycle, is_dc, is_ac;
+       gboolean is_auto, is_manual, is_sign, is_power, is_loop_current;
+};
+
+SR_PRIV gboolean sr_ut71x_packet_valid(const uint8_t *buf);
+SR_PRIV int sr_ut71x_parse(const uint8_t *buf, float *floatval,
+               struct sr_datafeed_analog *analog, void *info);
+
 /*--- hardware/lcr/es51919.c ------------------------------------------------*/
 
 SR_PRIV void es51919_serial_clean(void *priv);