]> sigrok.org Git - libsigrok.git/blobdiff - hardware/serial-dmm/protocol.h
serial-dmm: Use a macro for driver struct simplification.
[libsigrok.git] / hardware / serial-dmm / protocol.h
index f0658c4708c68f0527f4e01eccdc99a31463fe6a..c0573e8f06745e63c48d5c186633e7a64530fd3d 100644 (file)
@@ -39,9 +39,12 @@ enum {
        VA_VA18B,
        METEX_M3640D,
        PEAKTECH_4370,
+       PCE_PCE_DM32,
+       RADIOSHACK_22_168,
+       RADIOSHACK_22_812,
 };
 
-#define DMM_COUNT 8
+#define DMM_COUNT 11
 
 struct dmm_info {
        char *vendor;
@@ -54,9 +57,11 @@ struct dmm_info {
        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[DMM_COUNT];
+extern SR_PRIV struct dmm_info dmms[DMM_COUNT];
 
 #define DMM_BUFSIZE 256
 
@@ -86,9 +91,13 @@ 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