Go to the documentation of this file.
35 #include "mikrosdk_version.h"
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_i2c_master.h"
69 #define HALLSWITCH3_REG_STATUS 0x00
70 #define HALLSWITCH3_REG_CONTROL_REG1 0x01
71 #define HALLSWITCH3_REG_OUT_M_REG 0x03
72 #define HALLSWITCH3_REG_USER_ASSERT_THRESH 0x04
73 #define HALLSWITCH3_REG_USER_CLEAR_THRESH 0x05
74 #define HALLSWITCH3_REG_USER_ODR 0x06
75 #define HALLSWITCH3_REG_WHO_AM_I 0x08
76 #define HALLSWITCH3_REG_I2C_ADDR 0x09
94 #define HALLSWITCH3_STATUS_OUT_B_CLEAR 0x00
95 #define HALLSWITCH3_STATUS_OUT_B_ASSERT 0x01
96 #define HALLSWITCH3_STATUS_RST_COMPLETE 0x00
97 #define HALLSWITCH3_STATUS_RST_NOT_COMPLETE 0x02
98 #define HALLSWITCH3_STATUS_OPMODE_SA 0x00
99 #define HALLSWITCH3_STATUS_OPMODE_I2C 0x08
100 #define HALLSWITCH3_STATUS_MDR_DATA_RDY 0x00
101 #define HALLSWITCH3_STATUS_MDR_DATA_NO_RDY 0x20
102 #define HALLSWITCH3_STATUS_MDO_DATA_OK 0x00
103 #define HALLSWITCH3_STATUS_MDO_DATA_FAULT 0x40
104 #define HALLSWITCH3_STATUS_VOUT_LOW 0x00
105 #define HALLSWITCH3_STATUS_VOUT_HIGH 0x80
111 #define HALLSWITCH3_CONTROL_SW_RESET 0x01
112 #define HALLSWITCH3_CONTROL_ONE_SHOT 0x04
113 #define HALLSWITCH3_CONTROL_AUTO_STOP 0x00
114 #define HALLSWITCH3_CONTROL_AUTO_START 0x08
115 #define HALLSWITCH3_CONTROL_V_POL_ASSERT_H 0x00
116 #define HALLSWITCH3_CONTROL_V_POL_ASSERT_L 0x20
122 #define HALLSWITCH3_ASSERT_THOLD_DEFAULT 0x10
123 #define HALLSWITCH3_CLEAR_THOLD_DEFAULT 0x15
124 #define HALLSWITCH3_THOLD_BITMASK 0x1F
130 #define HALLSWITCH3_OUT_M_RES_RST 0x00
131 #define HALLSWITCH3_OUT_M_RES_LOWEST 0x01
132 #define HALLSWITCH3_OUT_M_RES_HIGHEST 0x1F
138 #define HALLSWITCH3_USER_ODR_LSP 0x1F
139 #define HALLSWITCH3_USER_ODR_LSP 0x00
140 #define HALLSWITCH3_USER_ODR_LSP_X5 0x01
141 #define HALLSWITCH3_USER_ODR_MSP 0x02
142 #define HALLSWITCH3_USER_ODR_MSP_X5 0x03
143 #define HALLSWITCH3_USER_ODR_HSP 0x04
144 #define HALLSWITCH3_USER_ODR_HSP_X5 0x05
145 #define HALLSWITCH3_USER_ODR_HSP_X10 0x06
146 #define HALLSWITCH3_USER_ODR_CFG_ERR 0x07
152 #define HALLSWITCH3_OUT_STATE_LOW 0x00
153 #define HALLSWITCH3_OUT_STATE_HIGH 0x01
159 #define HALLSWITCH3_WHO_AM_I 0x01
166 #define HALLSWITCH3_DEVICE_ADDRESS 0x60
184 #define HALLSWITCH3_MAP_MIKROBUS( cfg, mikrobus ) \
185 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
186 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
187 cfg.out = MIKROBUS( mikrobus, MIKROBUS_INT )
455 #endif // HALLSWITCH3_H
i2c_master_t i2c
Definition: hallswitch3.h:202
digital_in_t out
Definition: hallswitch3.h:199
err_t hallswitch3_get_status(hallswitch3_t *ctx, uint8_t *status)
Hall Switch 3 get status function.
@ HALLSWITCH3_OK
Definition: hallswitch3.h:231
err_t hallswitch3_init(hallswitch3_t *ctx, hallswitch3_cfg_t *cfg)
Hall Switch 3 initialization function.
uint8_t i2c_address
Definition: hallswitch3.h:221
@ HALLSWITCH3_ERROR
Definition: hallswitch3.h:232
err_t hallswitch3_autonomous_mode(hallswitch3_t *ctx)
Hall Switch 3 autonomous mode function.
Hall Switch 3 Click configuration object.
Definition: hallswitch3.h:214
err_t hallswitch3_set_threshold(hallswitch3_t *ctx, uint8_t assert_thold, uint8_t clear_thold)
Hall Switch 3 sets assert and clear threshold function.
uint8_t slave_address
Definition: hallswitch3.h:205
uint32_t i2c_speed
Definition: hallswitch3.h:220
err_t hallswitch3_reset(hallswitch3_t *ctx)
Hall Switch 3 software reset function.
err_t hallswitch3_get_device_id(hallswitch3_t *ctx, uint8_t *device_id)
Hall Switch 3 get device ID function.
err_t hallswitch3_reg_read(hallswitch3_t *ctx, uint8_t reg, uint8_t *data_out)
Hall Switch 3 I2C reading function.
pin_name_t sda
Definition: hallswitch3.h:216
uint8_t hallswitch3_check_mag_field(hallswitch3_t *ctx)
Hall Switch 3 check magnetic field function.
err_t hallswitch3_set_one_shot(hallswitch3_t *ctx)
Hall Switch 3 sets one-shot function.
Hall Switch 3 Click context object.
Definition: hallswitch3.h:197
err_t hallswitch3_get_mag_data(hallswitch3_t *ctx, int8_t *mag_data)
Hall Switch 3 get mag data function.
hallswitch3_return_value_t
Hall Switch 3 Click return value data.
Definition: hallswitch3.h:230
err_t hallswitch3_reg_write(hallswitch3_t *ctx, uint8_t reg, uint8_t data_in)
Hall Switch 3 I2C writing function.
pin_name_t out
Definition: hallswitch3.h:218
void hallswitch3_cfg_setup(hallswitch3_cfg_t *cfg)
Hall Switch 3 configuration object setup function.
err_t hallswitch3_default_cfg(hallswitch3_t *ctx)
Hall Switch 3 default configuration function.
err_t hallswitch3_set_vpol(hallswitch3_t *ctx, uint8_t v_pol)
Hall Switch 3 set VPOL function.
pin_name_t scl
Definition: hallswitch3.h:215
err_t hallswitch3_set_out_data_rate(hallswitch3_t *ctx, uint8_t odr)
Hall Switch 3 sets output data rates function.