]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/gmc-mh-1x-2x/protocol.h
gmc-mh-1x-2x: Convert to SR_DF_ANALOG.
[libsigrok.git] / src / hardware / gmc-mh-1x-2x / protocol.h
index 5d20e9214e2cafbae09fc220fee3f390c69d4908..49492352f5bfa81f0b36ad4a61e78aba2a9137ba 100644 (file)
 
 #include <stdint.h>
 #include <glib.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
 #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 length (valid when msg, curr. type known).*/
-       int mq;             /**< Measured quantity */
-       int unit;           /**< Measured unit */
-       uint64_t mqflags;       /**< Measured quantity flags */
+       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);