Go to the documentation of this file.
28 #ifndef MAGNETICROTARY5_H
29 #define MAGNETICROTARY5_H
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_analog_in.h"
59 #define MAGNETICROTARY5_CMD_WRITE_CONFIG 0x17
60 #define MAGNETICROTARY5_CMD_SET_MT_COUNTER 0x14
61 #define MAGNETICROTARY5_CMD_EN_PROG 0x10
62 #define MAGNETICROTARY5_CMD_RD_MT_COUNTER 0x04
63 #define MAGNETICROTARY5_CMD_RD_ANGLE 0x00
64 #define MAGNETICROTARY5_CMD_WRITE_OTP 0x1F
65 #define MAGNETICROTARY5_CMD_PROG_OTP 0x19
66 #define MAGNETICROTARY5_CMD_READ_OTP 0x0F
67 #define MAGNETICROTARY5_CMD_READ_ANA 0x09
85 #define MAGNETICROTARY5_MASK_AGC_BITS 0x3F
86 #define MAGNETICROTARY5_MASK_ANGLE_MSB 0x01
87 #define MAGNETICROTARY5_MASK_MT_CNT_MSB 0x01FE
88 #define MAGNETICROTARY5_MASK_MT_CNT_LSB 0x01
89 #define MAGNETICROTARY5_MASK_5_LSB 0x1F
90 #define MAGNETICROTARY5_MASK_3_LSB 0x07
91 #define MAGNETICROTARY5_MAX_DATA_LEN 8
92 #define MAGNETICROTARY5_MIN_DATA_LEN 1
93 #define MAGNETICROTARY5_MAX_MT_CNT 255
94 #define MAGNETICROTARY5_MIN_MT_CNT (-256)
95 #define MAGNETICROTARY5_DEFAULT_MT_CNT 0
101 #define MAGNETICROTARY5_VREF_3V3 3.3
102 #define MAGNETICROTARY5_VREF_5V 5.0
120 #define MAGNETICROTARY5_MAP_MIKROBUS( cfg, mikrobus ) \
121 cfg.dio = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
122 cfg.ddclk = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
123 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
124 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN );
332 #endif // MAGNETICROTARY5_H
err_t magneticrotary5_read_cmd(magneticrotary5_t *ctx, uint8_t cmd, uint8_t *data_out, uint8_t len)
Magnetic Rotary 5 read cmd function.
analog_in_t adc
Definition: magneticrotary5.h:139
@ MAGNETICROTARY5_OK
Definition: magneticrotary5.h:165
digital_out_t cs
Definition: magneticrotary5.h:136
err_t magneticrotary5_read_raw_adc(magneticrotary5_t *ctx, uint16_t *raw_adc)
Magnetic Rotary 5 read raw ADC value function.
Magnetic Rotary 5 Click configuration object.
Definition: magneticrotary5.h:148
err_t magneticrotary5_init(magneticrotary5_t *ctx, magneticrotary5_cfg_t *cfg)
Magnetic Rotary 5 initialization function.
void magneticrotary5_cfg_setup(magneticrotary5_cfg_t *cfg)
Magnetic Rotary 5 configuration object setup function.
pin_name_t dio
Definition: magneticrotary5.h:137
err_t magneticrotary5_read_mt_cnt(magneticrotary5_t *ctx, int16_t *mt_cnt)
Magnetic Rotary 5 read multi turn counter function.
err_t magneticrotary5_write_cmd(magneticrotary5_t *ctx, uint8_t cmd, uint8_t *data_in, uint8_t len)
Magnetic Rotary 5 write cmd function.
digital_out_t ddclk
Definition: magneticrotary5.h:135
float vref
Definition: magneticrotary5.h:155
Magnetic Rotary 5 Click context object.
Definition: magneticrotary5.h:134
pin_name_t cs
Definition: magneticrotary5.h:150
@ MAGNETICROTARY5_ERROR
Definition: magneticrotary5.h:166
err_t magneticrotary5_read_voltage(magneticrotary5_t *ctx, float *voltage)
Magnetic Rotary 5 read voltage level function.
analog_in_resolution_t resolution
Definition: magneticrotary5.h:154
pin_name_t dio
Definition: magneticrotary5.h:151
err_t magneticrotary5_set_mt_cnt(magneticrotary5_t *ctx, int16_t mt_cnt)
Magnetic Rotary 5 set multi turn counter function.
err_t magneticrotary5_set_vref(magneticrotary5_t *ctx, float vref)
Magnetic Rotary 5 set vref function.
err_t magneticrotary5_default_cfg(magneticrotary5_t *ctx)
Magnetic Rotary 5 default configuration function.
err_t magneticrotary5_read_angle(magneticrotary5_t *ctx, uint8_t *agc, uint16_t *angle)
Magnetic Rotary 5 read angle function.
magneticrotary5_return_value_t
Magnetic Rotary 5 Click return value data.
Definition: magneticrotary5.h:164
pin_name_t ddclk
Definition: magneticrotary5.h:149
pin_name_t an
Definition: magneticrotary5.h:152