HALL - Hall Effect Sensor
Detailed Description
Driver for Hall effect sensor.
Modules |
|
Si7210 - Hall Effect Sensor | |
Driver for the Silicon Labs Si7210 Hall effect sensor.
|
|
Data Structures |
|
struct | __HALL_Config |
Structure to configure the Hall effect sensor device.
|
|
Typedefs |
|
typedef struct __HALL_Config | HALL_Config |
Structure to configure the Hall effect sensor device.
|
|
typedef void(* | HALL_IntCallback ) (bool pinHigh) |
Functions |
|
uint32_t | HALL_configure ( HALL_Config *config) |
Configures the Si7210 chip.
|
|
void | HALL_deInit (void) |
De-initializes the Hall sensor. Disables the sensor power domain.
|
|
uint32_t | HALL_deInitDevice (void) |
Does device-specific de-initializaiton for the Si7210 chip.
|
|
float | HALL_getTamperLevel (void) |
Returns the tamper level configured in the chip.
|
|
uint32_t | HALL_init (void) |
Initializes the Hall sensor.
|
|
uint32_t | HALL_initDevice (void) |
Does device-specific initializaiton for the Si7210 chip.
|
|
uint32_t | HALL_measure (uint32_t scale, float *result) |
Performs a measurement.
|
|
void | HALL_registerCallback ( HALL_IntCallback callback) |
Register GPIO interrupt callback function. This function will be called when the ALERT pin of the Hall sensor changes state and the interrupt functions are enabled.
|
|
Error Codes |
|
#define | HALL_OK 0x0000 |
#define | HALL_ERROR_DRIVER_NOT_INITIALIZED 0x0001 |
#define | HALL_ERROR_I2C_TRANSACTION_FAILED 0x0002 |
#define | HALL_ERROR_DEVICE_ID_MISMATCH 0x0003 |
Configuration values |
|
#define | HALL_CONFIG_POLARITY_OMNIPOLAR 0x00 |
#define | HALL_CONFIG_POLARITY_NEGATIVE 0x01 |
#define | HALL_CONFIG_POLARITY_POSITIVE 0x02 |
Macro Definition Documentation
#define HALL_CONFIG_POLARITY_NEGATIVE 0x01 |
Negative field polarity
Definition at line
59
of file
hall.h
.
#define HALL_CONFIG_POLARITY_OMNIPOLAR 0x00 |
Omnipolar field polarity
Definition at line
58
of file
hall.h
.
#define HALL_CONFIG_POLARITY_POSITIVE 0x02 |
Positive field polarity
Definition at line
60
of file
hall.h
.
#define HALL_ERROR_DEVICE_ID_MISMATCH 0x0003 |
The device ID does not match the expected value
Definition at line
51
of file
hall.h
.
Referenced by HALL_initDevice() .
#define HALL_ERROR_DRIVER_NOT_INITIALIZED 0x0001 |
The driver is not initialized
Definition at line
49
of file
hall.h
.
#define HALL_ERROR_I2C_TRANSACTION_FAILED 0x0002 |
I2C transaction failed
Definition at line
50
of file
hall.h
.
Referenced by SI7210_registerRead() , SI7210_registerWrite() , and SI7210_wakeUp() .
#define HALL_OK 0x0000 |
No errors
Definition at line
48
of file
hall.h
.
Referenced by HALL_configure() , HALL_initDevice() , SI7210_loadCoeffsFromOtp() , SI7210_regClearBits() , SI7210_registerRead() , SI7210_registerWrite() , SI7210_regReadOTP() , SI7210_regSetBits() , and SI7210_wakeUp() .
Typedef Documentation
typedef void(* HALL_IntCallback) (bool pinHigh) |
Interrupt callback function
Definition at line
74
of file
hall.h
.
Function Documentation
uint32_t HALL_configure | ( | HALL_Config * |
config
|
) |
Configures the Si7210 chip.
- Parameters
-
[in] config
The structure, which contains the configuration parameters. If all fields are set to zero, the chip will revert to use default values.
- Returns
- Returns zero on OK, non-zero otherwise
Definition at line
120
of file
hall_si7210.c
.
References HALL_OK , __HALL_Config::hysteresis , __HALL_Config::outputInvert , __HALL_Config::polarity , SI7210_calculateSWHYST() , SI7210_calculateSWOP() , SI7210_REG_ADDR_CTRL1 , SI7210_REG_ADDR_CTRL2 , SI7210_REG_ADDR_CTRL3 , SI7210_REG_ADDR_POWER_CTRL , SI7210_REG_CTRL1_SW_LOW4FIELD_MASK , SI7210_REG_CTRL1_SW_LOW4FIELD_SHIFT , SI7210_REG_CTRL1_SW_OP_MASK , SI7210_REG_CTRL1_SW_OP_SHIFT , SI7210_REG_CTRL2_SW_FIELDPOLSEL_MASK , SI7210_REG_CTRL2_SW_FIELDPOLSEL_SHIFT , SI7210_REG_CTRL2_SW_HYST_MASK , SI7210_REG_CTRL2_SW_HYST_SHIFT , SI7210_REG_CTRL3_SLTIMEENA_MASK , SI7210_REG_POWER_CTRL_STOP_MASK , SI7210_REG_POWER_CTRL_USESTORE_MASK , SI7210_regClearBits() , SI7210_registerWrite() , SI7210_regSetBits() , SI7210_wakeUp() , and __HALL_Config::threshold .
void HALL_deInit | ( | void |
|
) |
De-initializes the Hall sensor. Disables the sensor power domain.
- Returns
- None
Definition at line
97
of file
hall.c
.
References BOARD_hallSensorEnable() , BOARD_hallSensorEnableIRQ() , and HALL_deInitDevice() .
uint32_t HALL_deInitDevice | ( | void |
|
) |
Does device-specific de-initializaiton for the Si7210 chip.
- Returns
- Returns zero on OK, non-zero otherwise
Definition at line
104
of file
hall_si7210.c
.
Referenced by HALL_deInit() .
float HALL_getTamperLevel | ( | void |
|
) |
Returns the tamper level configured in the chip.
- Returns
- The tamper level in mT
Definition at line
243
of file
hall_si7210.c
.
uint32_t HALL_init | ( | void |
|
) |
Initializes the Hall sensor.
- Returns
- Returns zero on OK, non-zero otherwise
Definition at line
69
of file
hall.c
.
References BOARD_hallSensorEnable() , BOARD_hallSensorEnableIRQ() , BOARD_hallSensorSetIRQCallback() , HALL_initDevice() , and UTIL_delay() .
uint32_t HALL_initDevice | ( | void |
|
) |
Does device-specific initializaiton for the Si7210 chip.
- Returns
- Returns zero on OK, non-zero otherwise
Definition at line
71
of file
hall_si7210.c
.
References HALL_ERROR_DEVICE_ID_MISMATCH , HALL_OK , SI7210_identify() , and SI7210_wakeUp() .
Referenced by HALL_init() .
uint32_t HALL_measure | ( | uint32_t |
scale,
|
float * |
result
|
||
) |
Performs a measurement.
- Parameters
-
[in] scale
Desired scale in uT [out] result
The measured field strength value in mT
- Returns
- Returns zero on OK, non-zero otherwise
Definition at line
217
of file
hall_si7210.c
.
References SI7210_readmTDataSltimeena() .
void HALL_registerCallback | ( | HALL_IntCallback |
callback
|
) |
Register GPIO interrupt callback function. This function will be called when the ALERT pin of the Hall sensor changes state and the interrupt functions are enabled.
- Parameters
-
[in] callback
Pointer to the callback function
- Returns
- None
Definition at line
120
of file
hall.c
.