X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fgmc-mh-1x-2x%2Fprotocol.h;h=49492352f5bfa81f0b36ad4a61e78aba2a9137ba;hb=f07482250055966e9c06154c2550aba6ca2bc2c1;hp=3d0eab42f0618cf04095d8e9046f9755c3870fb5;hpb=584560f142e1b17b9f4ef9069bd3724f2f77e750;p=libsigrok.git diff --git a/src/hardware/gmc-mh-1x-2x/protocol.h b/src/hardware/gmc-mh-1x-2x/protocol.h index 3d0eab42..49492352 100644 --- a/src/hardware/gmc-mh-1x-2x/protocol.h +++ b/src/hardware/gmc-mh-1x-2x/protocol.h @@ -27,12 +27,13 @@ #include #include -#include "libsigrok.h" +#include #include "libsigrok-internal.h" #define LOG_PREFIX "gmc-mh-1x-2x" -#define GMC_BUFSIZE 266 +#define GMC_BUFSIZE 266 +#define GMC_REPLY_SIZE 14 /** Message ID bits 4, 5 */ #define MSGID_MASK 0x30 /**< Mask to get message ID bits */ @@ -86,19 +87,15 @@ struct dev_context { enum model model; /**< Model code. */ /* Acquisition settings */ - uint64_t limit_samples; /**< Target number of samples */ - uint64_t limit_msec; /**< Target sampling time */ - - /* Opaque pointer passed in by frontend. */ - void *cb_data; + struct sr_sw_limits limits; /* Operational state */ gboolean settings_ok; /**< Settings msg received yet. */ int msg_type; /**< Message type (MSGID_INF, ...). */ - int msg_len; /**< Message lengh (valid when msg, curr. type known).*/ - int mq; /**< Measured quantity */ - int unit; /**< Measured unit */ - uint64_t mqflags; /**< Measured quantity flags */ + int msg_len; /**< Message length (valid when msg, curr. type known).*/ + enum sr_mq mq; /**< Measured quantity */ + enum sr_unit unit; /**< Measured unit */ + enum sr_mqflag mqflags; /**< Measured quantity flags */ float value; /**< Measured value */ float scale; /**< Scale for value. */ int8_t scale1000; /**< Additional scale factor 1000x. */ @@ -113,8 +110,6 @@ struct dev_context { gboolean response_pending; /**< Request sent, response is pending. */ /* Temporary state across callbacks */ - uint64_t num_samples; /**< Current #samples for limit_samples */ - GTimer *elapsed_msec; /**< Used for sampling with limit_msec */ uint8_t buf[GMC_BUFSIZE]; /**< Buffer for read callback */ int buflen; /**< Data len in buf */ }; @@ -122,8 +117,6 @@ struct dev_context { /* Forward declarations */ SR_PRIV int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg); -SR_PRIV void create_cmd_14(guchar addr, guchar func, guchar* params, guchar* buf); -SR_PRIV void dump_msg14(guchar* buf, gboolean raw); SR_PRIV int gmc_decode_model_bd(uint8_t mcode); SR_PRIV int gmc_decode_model_sm(uint8_t mcode); SR_PRIV int gmc_mh_1x_2x_receive_data(int fd, int revents, void *cb_data);