X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fmic-985xx%2Fprotocol.h;h=279cca5be79f3ed195a49d27b6f18a9226671907;hb=3544f848e0d7f67af8e11ce7ec344b34cd797df3;hp=e854b1d49c7ced82601e81c91d128f8782a5d940;hpb=0cd8e23140612703406a57316bb0a507fb8f1994;p=libsigrok.git diff --git a/hardware/mic-985xx/protocol.h b/hardware/mic-985xx/protocol.h index e854b1d4..279cca5b 100644 --- a/hardware/mic-985xx/protocol.h +++ b/hardware/mic-985xx/protocol.h @@ -28,21 +28,15 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "mic-985xx: " -#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) +#define LOG_PREFIX "mic-985xx" /* Note: When adding entries here, don't forget to update MIC_DEV_COUNT. */ enum { + MIC_98581, MIC_98583, }; -#define MIC_DEV_COUNT 1 +#define MIC_DEV_COUNT 2 struct mic_dev_info { char *vendor; @@ -51,6 +45,8 @@ struct mic_dev_info { uint32_t max_sample_points; gboolean has_temperature; gboolean has_humidity; + uint8_t packet_size; + gboolean (*packet_valid)(const uint8_t *); struct sr_dev_driver *di; int (*receive_data)(int, int, void *); }; @@ -75,13 +71,15 @@ struct dev_context { int64_t starttime; - struct sr_serial_dev_inst *serial; - uint8_t buf[SERIAL_BUFSIZE]; int bufoffset; int buflen; }; +SR_PRIV gboolean packet_valid_temp(const uint8_t *buf); +SR_PRIV gboolean packet_valid_temp_hum(const uint8_t *buf); + +SR_PRIV int receive_data_MIC_98581(int fd, int revents, void *cb_data); SR_PRIV int receive_data_MIC_98583(int fd, int revents, void *cb_data); SR_PRIV int mic_cmd_get_device_info(struct sr_serial_dev_inst *serial);