X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fserial-dmm%2Fprotocol.h;h=0713f5cfcacfcce887a218c6917e8523c6afe0ee;hb=ebc51109899008694c50977cb2574050b1bc0c89;hp=8c21f9d975847dcce16cde3eb5866cef45b70edb;hpb=9f51c463d1bfd182ddf8ae1c5bc83377ef93d2bc;p=libsigrok.git diff --git a/src/hardware/serial-dmm/protocol.h b/src/hardware/serial-dmm/protocol.h index 8c21f9d9..0713f5cf 100644 --- a/src/hardware/serial-dmm/protocol.h +++ b/src/hardware/serial-dmm/protocol.h @@ -29,34 +29,41 @@ struct dmm_info { const char *vendor; /** Model. */ const char *device; - /** serialconn string. */ + /** conn string. */ const char *conn; - /** Baud rate. */ - uint32_t baudrate; + /** serialcomm string. */ + const char *serialcomm; /** Packet size in bytes. */ int packet_size; - /** Request timeout [ms] before request is considered lost and a new - * one is sent. Used only if device needs polling. */ + /** + * Request timeout [ms] before request is considered lost and a new + * one is sent. Used only if device needs polling. + */ int64_t req_timeout_ms; - /** Delay between reception of packet and next request. Some DMMs - * need this. Used only if device needs polling. */ + /** + * Delay between reception of packet and next request. Some DMMs + * need this. Used only if device needs polling. + */ int64_t req_delay_ms; /** Packet request function. */ int (*packet_request)(struct sr_serial_dev_inst *); + /** Number of channels / displays. */ + size_t channel_count; + /** (Optional) printf formats for channel names. */ + const char **channel_formats; /** Packet validation function. */ gboolean (*packet_valid)(const uint8_t *); /** Packet parsing function. */ int (*packet_parse)(const uint8_t *, float *, - struct sr_datafeed_analog_old *, void *); + struct sr_datafeed_analog *, void *); /** */ - void (*dmm_details)(struct sr_datafeed_analog_old *, void *); + void (*dmm_details)(struct sr_datafeed_analog *, void *); /** Size of chipset info struct. */ gsize info_size; }; #define DMM_BUFSIZE 256 -/** Private, per-device-instance driver context. */ struct dev_context { struct sr_sw_limits limits; @@ -64,8 +71,10 @@ struct dev_context { int bufoffset; int buflen; - /** The timestamp [µs] to send the next request. - * Used only if device needs polling. */ + /** + * The timestamp [µs] to send the next request. + * Used only if device needs polling. + */ int64_t req_next_at; };