#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 */
METRAHIT_26SM = METRAHIT_25S + 1, /**< Send mode */
METRAHIT_26S = METRAHIT_26SM + 1, /**< Bidi mode */
METRAHIT_26M = METRAHIT_26S + 1, /**< Bidi mode */
+ /* The Metrahit 27x and 28Cx have a totally different protocol */
METRAHIT_28S = METRAHIT_26M + 1,
METRAHIT_29S = METRAHIT_28S + 1,
};
/* 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 msg_len; /**< Message length (valid when msg, curr. type known).*/
int mq; /**< Measured quantity */
int unit; /**< Measured unit */
uint64_t mqflags; /**< Measured quantity flags */
float value; /**< Measured value */
float scale; /**< Scale for value. */
int8_t scale1000; /**< Additional scale factor 1000x. */
- gboolean vmains_29S; /**< Measured ctmv is V mains (29S only). */
int addr; /**< Device address (1..15). */
int cmd_idx; /**< Parameter "Idx" (Index) of current command, if required. */
int cmd_seq; /**< Command sequence. Used to query status every n messages. */
};
/* Forward declarations */
-SR_PRIV int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi,
+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);