X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=9df33ca329b95be703732a04b102e21af3e1c0d3;hb=0cdb72c8f2e45fd6c744de426b2f00b207fba4f9;hp=9a34ba169a84863e0dffb382d2c0688c27ec724a;hpb=d47872480164724f348ceedc8af2f39fc2e9fce4;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index 9a34ba16..9df33ca3 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -756,7 +756,9 @@ struct sr_serial_dev_inst { #ifdef HAVE_LIBHIDAPI enum ser_hid_chip_t { SER_HID_CHIP_UNKNOWN, /**!< place holder */ + SER_HID_CHIP_BTC_BU86X, /**!< Brymen BU86x */ SER_HID_CHIP_SIL_CP2110, /**!< SiLabs CP2110 */ + SER_HID_CHIP_VICTOR_DMM, /**!< Victor 70/86 DMM cable */ SER_HID_CHIP_WCH_CH9325, /**!< WCH CH9325 */ SER_HID_CHIP_LAST, /**!< sentinel */ } hid_chip; @@ -1175,7 +1177,7 @@ SR_PRIV int serial_stream_detect(struct sr_serial_dev_inst *serial, uint8_t *buf, size_t *buflen, size_t packet_size, packet_valid_callback is_valid, - uint64_t timeout_ms, int baudrate); + uint64_t timeout_ms); SR_PRIV int sr_serial_extract_options(GSList *options, const char **serial_device, const char **serial_options); SR_PRIV int serial_source_add(struct sr_session *session, @@ -1247,8 +1249,10 @@ struct ser_hid_chip_functions { int (*flush)(struct sr_serial_dev_inst *serial); int (*drain)(struct sr_serial_dev_inst *serial); }; +extern SR_PRIV struct ser_hid_chip_functions *ser_hid_chip_funcs_bu86x; extern SR_PRIV struct ser_hid_chip_functions *ser_hid_chip_funcs_ch9325; extern SR_PRIV struct ser_hid_chip_functions *ser_hid_chip_funcs_cp2110; +extern SR_PRIV struct ser_hid_chip_functions *ser_hid_chip_funcs_victor; SR_PRIV const char *ser_hid_chip_find_name_vid_pid(uint16_t vid, uint16_t pid); #endif #endif @@ -1566,6 +1570,20 @@ 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); +/*--- dmm/bm86x.c -----------------------------------------------------------*/ + +#define BRYMEN_BM86X_PACKET_SIZE 24 +#define BRYMEN_BM86X_DISPLAY_COUNT 2 + +struct brymen_bm86x_info { size_t ch_idx; }; + +#ifdef HAVE_SERIAL_COMM +SR_PRIV int sr_brymen_bm86x_packet_request(struct sr_serial_dev_inst *serial); +#endif +SR_PRIV gboolean sr_brymen_bm86x_packet_valid(const uint8_t *buf); +SR_PRIV int sr_brymen_bm86x_parse(const uint8_t *buf, float *floatval, + struct sr_datafeed_analog *analog, void *info); + /*--- dmm/ut71x.c -----------------------------------------------------------*/ #define UT71X_PACKET_SIZE 11 @@ -1619,21 +1637,26 @@ SR_PRIV int sr_vc96_parse(const uint8_t *buf, float *floatval, /*--- lcr/es51919.c ---------------------------------------------------------*/ -SR_PRIV void es51919_serial_clean(void *priv); -SR_PRIV struct sr_dev_inst *es51919_serial_scan(GSList *options, - const char *vendor, - const char *model); -SR_PRIV int es51919_serial_config_get(uint32_t key, GVariant **data, - const struct sr_dev_inst *sdi, - const struct sr_channel_group *cg); -SR_PRIV int es51919_serial_config_set(uint32_t key, GVariant *data, - const struct sr_dev_inst *sdi, - const struct sr_channel_group *cg); -SR_PRIV int es51919_serial_config_list(uint32_t key, GVariant **data, - const struct sr_dev_inst *sdi, - const struct sr_channel_group *cg); -SR_PRIV int es51919_serial_acquisition_start(const struct sr_dev_inst *sdi); -SR_PRIV int es51919_serial_acquisition_stop(struct sr_dev_inst *sdi); +/* Acquisition details which apply to all supported serial-lcr devices. */ +struct lcr_parse_info { + size_t ch_idx; + uint64_t output_freq; + const char *circuit_model; +}; + +#define ES51919_PACKET_SIZE 17 +#define ES51919_CHANNEL_COUNT 2 +#define ES51919_COMM_PARAM "9600/8n1/rts=1/dtr=1" + +SR_PRIV int es51919_config_get(uint32_t key, GVariant **data, + const struct sr_dev_inst *sdi, const struct sr_channel_group *cg); +SR_PRIV int es51919_config_set(uint32_t key, GVariant *data, + const struct sr_dev_inst *sdi, const struct sr_channel_group *cg); +SR_PRIV int es51919_config_list(uint32_t key, GVariant **data, + const struct sr_dev_inst *sdi, const struct sr_channel_group *cg); +SR_PRIV gboolean es51919_packet_valid(const uint8_t *pkt); +SR_PRIV int es51919_packet_parse(const uint8_t *pkt, float *floatval, + struct sr_datafeed_analog *analog, void *info); /*--- dmm/ut372.c -----------------------------------------------------------*/ @@ -1732,8 +1755,10 @@ SR_PRIV int sr_kern_parse(const uint8_t *buf, float *floatval, struct sr_sw_limits { uint64_t limit_samples; + uint64_t limit_frames; uint64_t limit_msec; uint64_t samples_read; + uint64_t frames_read; uint64_t start_time; }; @@ -1745,6 +1770,8 @@ SR_PRIV void sr_sw_limits_acquisition_start(struct sr_sw_limits *limits); SR_PRIV gboolean sr_sw_limits_check(struct sr_sw_limits *limits); SR_PRIV void sr_sw_limits_update_samples_read(struct sr_sw_limits *limits, uint64_t samples_read); +SR_PRIV void sr_sw_limits_update_frames_read(struct sr_sw_limits *limits, + uint64_t frames_read); SR_PRIV void sr_sw_limits_init(struct sr_sw_limits *limits); #endif