X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fserial-dmm%2Fprotocol.h;h=c0573e8f06745e63c48d5c186633e7a64530fd3d;hb=f1437c6814c693bd624211c5b644951cf16139f2;hp=ba5eaa5df163e2978cc76b5f140c62ca15cac70b;hpb=21a7f2692e09269edd872bca4e25a9d06b67c0e5;p=libsigrok.git diff --git a/hardware/serial-dmm/protocol.h b/hardware/serial-dmm/protocol.h index ba5eaa5d..c0573e8f 100644 --- a/hardware/serial-dmm/protocol.h +++ b/hardware/serial-dmm/protocol.h @@ -29,23 +29,39 @@ #define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) #define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +/* Note: When adding entries here, don't forget to update DMM_COUNT. */ enum { + DIGITEK_DT4000ZC, TEKPOWER_TP4000ZC, + METEX_ME31, + PEAKTECH_3410, + MASTECH_MAS345, + VA_VA18B, + METEX_M3640D, + PEAKTECH_4370, + PCE_PCE_DM32, + RADIOSHACK_22_168, + RADIOSHACK_22_812, }; +#define DMM_COUNT 11 + struct dmm_info { char *vendor; char *device; char *conn; uint32_t baudrate; int packet_size; + int (*packet_request)(struct sr_serial_dev_inst *); gboolean (*packet_valid)(const uint8_t *); int (*packet_parse)(const uint8_t *, float *, struct sr_datafeed_analog *, void *); void (*dmm_details)(struct sr_datafeed_analog *, void *); + struct sr_dev_driver *di; + int (*receive_data)(int, int, void *); }; -SR_PRIV struct dmm_info dmms[1]; +extern SR_PRIV struct dmm_info dmms[DMM_COUNT]; #define DMM_BUFSIZE 256 @@ -67,7 +83,21 @@ struct dev_context { int buflen; }; +SR_PRIV int digitek_dt4000zc_receive_data(int fd, int revents, void *cb_data); SR_PRIV int tekpower_tp4000zc_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int metex_me31_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int peaktech_3410_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int mastech_mas345_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int va_va18b_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int metex_m3640d_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int peaktech_4370_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int pce_pce_dm32_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int radioshack_22_168_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int radioshack_22_812_receive_data(int fd, int revents, void *cb_data); + SR_PRIV void dmm_details_tp4000zc(struct sr_datafeed_analog *analog, void *info); +SR_PRIV void dmm_details_dt4000zc(struct sr_datafeed_analog *analog, void *info); +SR_PRIV void dmm_details_va18b(struct sr_datafeed_analog *analog, void *info); +SR_PRIV void dmm_details_pce_dm32(struct sr_datafeed_analog *analog, void *info); #endif