]> sigrok.org Git - libsigrok.git/blobdiff - hardware/uni-t-dmm/protocol.h
Add support for the UNI-T UT61C multimeter.
[libsigrok.git] / hardware / uni-t-dmm / protocol.h
index 4250c0e4107142cefdd0525025b255113fc0ea59..baf901665f29f562e4238b84d3d8025f019cd5b4 100644 (file)
 #include "libsigrok.h"
 #include "libsigrok-internal.h"
 
-/* Message logging helpers with driver-specific prefix string. */
-#define DRIVER_LOG_DOMAIN "uni-t-dmm: "
-#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args)
-#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args)
-#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args)
-#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args)
-#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. */
+#define LOG_PREFIX "uni-t-dmm"
+
 enum {
+       TECPEL_DMM_8061,
+       UNI_T_UT60A,
+       UNI_T_UT60E,
+       UNI_T_UT61C,
        UNI_T_UT61D,
        UNI_T_UT61E,
        VOLTCRAFT_VC820,
+       VOLTCRAFT_VC830,
+       VOLTCRAFT_VC840,
+       TENMA_72_7745,
 };
 
-#define DMM_COUNT 3
-
 struct dmm_info {
        char *vendor;
        char *device;
        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 *);
@@ -59,8 +55,6 @@ struct dmm_info {
        int (*receive_data)(int, int, void *);
 };
 
-extern SR_PRIV struct dmm_info udmms[DMM_COUNT];
-
 #define CHUNK_SIZE             8
 
 #define DMM_BUFSIZE            256
@@ -79,6 +73,8 @@ struct dev_context {
        /** The current number of already received samples. */
        uint64_t num_samples;
 
+       int64_t starttime;
+
        gboolean first_run;
 
        uint8_t protocol_buf[DMM_BUFSIZE];
@@ -86,8 +82,14 @@ struct dev_context {
        uint8_t buflen;
 };
 
+SR_PRIV int receive_data_TECPEL_DMM_8061(int fd, int revents, void *cb_data);
+SR_PRIV int receive_data_UNI_T_UT60A(int fd, int revents, void *cb_data);
+SR_PRIV int receive_data_UNI_T_UT60E(int fd, int revents, void *cb_data);
+SR_PRIV int receive_data_UNI_T_UT61C(int fd, int revents, void *cb_data);
 SR_PRIV int receive_data_UNI_T_UT61D(int fd, int revents, void *cb_data);
 SR_PRIV int receive_data_UNI_T_UT61E(int fd, int revents, void *cb_data);
 SR_PRIV int receive_data_VOLTCRAFT_VC820(int fd, int revents, void *cb_data);
+SR_PRIV int receive_data_VOLTCRAFT_VC830(int fd, int revents, void *cb_data);
+SR_PRIV int receive_data_VOLTCRAFT_VC840(int fd, int revents, void *cb_data);
 
 #endif