Comparator (COMP) peripheral driver. More...
Modules | |
COMP peripheral driver configuration | |
Data Structures | |
struct | nrfx_comp_config_t |
COMP configuration. More... | |
Macros | |
#define | NRFX_VOLTAGE_THRESHOLD_TO_INT(vol, ref) (uint8_t)(((vol) > ((ref) / 64)) ? (NRFX_ROUNDED_DIV((vol) * 64,(ref)) - 1) : 0) |
Macro to convert the threshold voltage to an integer value (needed by the COMP_TH register). More... | |
#define | NRFX_COMP_CONFIG_TH |
COMP threshold default configuration. More... | |
#define | NRFX_COMP_DEFAULT_CONFIG(_input) |
COMP driver default configuration including the COMP HAL configuration. More... | |
Typedefs | |
typedef void(* | nrfx_comp_event_handler_t )(nrf_comp_event_t event) |
COMP event handler function type. More... | |
Enumerations | |
enum | nrfx_comp_short_mask_t { NRFX_COMP_SHORT_STOP_AFTER_CROSS_EVT = COMP_SHORTS_CROSS_STOP_Msk, NRFX_COMP_SHORT_STOP_AFTER_UP_EVT = COMP_SHORTS_UP_STOP_Msk, NRFX_COMP_SHORT_STOP_AFTER_DOWN_EVT = COMP_SHORTS_DOWN_STOP_Msk } |
COMP shortcut masks. More... | |
enum | nrfx_comp_evt_en_mask_t { NRFX_COMP_EVT_EN_CROSS_MASK = COMP_INTENSET_CROSS_Msk, NRFX_COMP_EVT_EN_UP_MASK = COMP_INTENSET_UP_Msk, NRFX_COMP_EVT_EN_DOWN_MASK = COMP_INTENSET_DOWN_Msk, NRFX_COMP_EVT_EN_READY_MASK = COMP_INTENSET_READY_Msk } |
COMP events masks. More... | |
Functions | |
nrfx_err_t | nrfx_comp_init (nrfx_comp_config_t const *p_config, nrfx_comp_event_handler_t event_handler) |
Function for initializing the COMP driver. More... | |
void | nrfx_comp_uninit (void) |
Function for uninitializing the COMP driver. More... | |
void | nrfx_comp_pin_select (nrf_comp_input_t psel) |
Function for setting the analog input. More... | |
void | nrfx_comp_start (uint32_t comp_evt_en_mask, uint32_t comp_shorts_mask) |
Function for starting the COMP peripheral and interrupts. More... | |
void | nrfx_comp_stop (void) |
Function for stopping the COMP peripheral. More... | |
uint32_t | nrfx_comp_sample (void) |
Function for copying the current state of the comparator result to the RESULT register. More... | |
__STATIC_INLINE uint32_t | nrfx_comp_task_address_get (nrf_comp_task_t task) |
Function for getting the address of a COMP task. More... | |
__STATIC_INLINE uint32_t | nrfx_comp_event_address_get (nrf_comp_event_t event) |
Function for getting the address of a COMP event. More... | |
void | nrfx_comp_irq_handler (void) |
Comparator (COMP) peripheral driver.
#define NRFX_COMP_CONFIG_TH |
COMP threshold default configuration.
#define NRFX_COMP_DEFAULT_CONFIG | ( | _input | ) |
COMP driver default configuration including the COMP HAL configuration.
#define NRFX_VOLTAGE_THRESHOLD_TO_INT | ( | vol, | |
ref | |||
) | (uint8_t)(((vol) > ((ref) / 64)) ? (NRFX_ROUNDED_DIV((vol) * 64,(ref)) - 1) : 0) |
Macro to convert the threshold voltage to an integer value (needed by the COMP_TH register).
[in] | vol | Voltage to be changed to COMP_TH register value. This value must not be smaller than reference voltage divided by 64. |
[in] | ref | Reference voltage. |
typedef void(* nrfx_comp_event_handler_t)(nrf_comp_event_t event) |
COMP event handler function type.
[in] | event | COMP event. |
COMP events masks.
__STATIC_INLINE uint32_t nrfx_comp_event_address_get | ( | nrf_comp_event_t | event | ) |
Function for getting the address of a COMP event.
[in] | event | COMP event. |
nrfx_err_t nrfx_comp_init | ( | nrfx_comp_config_t const * | p_config, |
nrfx_comp_event_handler_t | event_handler | ||
) |
Function for initializing the COMP driver.
This function initializes the COMP driver, but does not enable the peripheral or any interrupts. To start the driver, call the function nrfx_comp_start() after initialization.
[in] | p_config | Pointer to the structure with initial configuration. |
[in] | event_handler | Event handler provided by the user. Must not be NULL. |
NRFX_SUCCESS | If initialization was successful. |
NRFX_ERROR_INVALID_STATE | If the driver has already been initialized. |
NRFX_ERROR_BUSY | If the LPCOMP peripheral is already in use. This is possible only if Peripheral Resource Sharing (PRS) module is enabled. |
void nrfx_comp_pin_select | ( | nrf_comp_input_t | psel | ) |
Function for setting the analog input.
[in] | psel | COMP analog pin selection. |
uint32_t nrfx_comp_sample | ( | void | ) |
Function for copying the current state of the comparator result to the RESULT register.
0 | If the input voltage is below the threshold (VIN+ < VIN-). |
1 | If the input voltage is above the threshold (VIN+ > VIN-). |
void nrfx_comp_start | ( | uint32_t | comp_evt_en_mask, |
uint32_t | comp_shorts_mask | ||
) |
Function for starting the COMP peripheral and interrupts.
Before calling this function, the driver must be initialized. This function enables the COMP peripheral and its interrupts.
[in] | comp_evt_en_mask | Mask of events to be enabled. This parameter should be built as 'or' of elements from nrfx_comp_evt_en_mask_t. |
[in] | comp_shorts_mask | Mask of shorts to be enabled. This parameter should be built as 'or' of elements from nrfx_comp_short_mask_t. |
void nrfx_comp_stop | ( | void | ) |
Function for stopping the COMP peripheral.
Before calling this function, the driver must be enabled. This function disables the COMP peripheral and its interrupts.
__STATIC_INLINE uint32_t nrfx_comp_task_address_get | ( | nrf_comp_task_t | task | ) |
Function for getting the address of a COMP task.
[in] | task | COMP task. |
void nrfx_comp_uninit | ( | void | ) |
Function for uninitializing the COMP driver.
This function uninitializes the COMP driver. The COMP peripheral and its interrupts are disabled, and local variables are cleaned. After this call, you must initialize the driver again by calling nrfx_comp_init() if you want to use it.