* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** @file
- * Gossen Metrawatt Metrahit 1x/2x drivers
- * @internal
- */
-
#ifndef LIBSIGROK_HARDWARE_GMC_MH_1X_2X_PROTOCOL_H
#define LIBSIGROK_HARDWARE_GMC_MH_1X_2X_PROTOCOL_H
#define MSGID_DTA 0x20 /**< Start of data message, displayed, averaged */
#define MSGID_DATA 0x30 /**< Data byte in message */
-#define MSGC_MASK 0x0f /**< Mask to get message byte contents in send mode */
+#define MSGC_MASK 0x0f /**< Mask to get message byte contents in send mode */
#define MSGSRC_MASK 0xc0 /**< Mask to get bits related to message source */
METRAHIT_29S = METRAHIT_28S + 1,
};
-/** Private, per-device-instance driver context. */
struct dev_context {
- /* Model-specific information */
enum model model; /**< Model code. */
- /* Acquisition settings */
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).*/
enum sr_unit unit; /**< Measured unit */
enum sr_mqflag mqflags; /**< Measured quantity flags */
float value; /**< Measured value */
- float scale; /**< Scale for value. */
+ int8_t scale; /**< Scale for value. */
int8_t scale1000; /**< Additional scale factor 1000x. */
int addr; /**< Device address (1..15). */
int cmd_idx; /**< Parameter "Idx" (Index) of current command, if required. */
int64_t req_sent_at; /**< Request sent. */
gboolean response_pending; /**< Request sent, response is pending. */
- /* Temporary state across callbacks */
uint8_t buf[GMC_BUFSIZE]; /**< Buffer for read callback */
int buflen; /**< Data len in buf */
};
-/* 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 int gmc_decode_model_bd(uint8_t mcode);