Module for using the capacitive sensor library with support for many instances of sliders, wheels, and buttons. More...
Modules | |
Capacitive sensor module configuration | |
Capacitive sensor macros | |
A set of macros to facilitate creation of a new capacitive sensor instance. | |
Data Structures | |
struct | nrf_csense_slider_evt_t |
Structure with slider event data including the measured step. More... | |
union | nrf_csense_evt_param_t |
Event data union for nrf_csense events. More... | |
struct | nrf_csense_evt_t |
Structure with event parameters. More... | |
Macros | |
#define | NRF_CSENSE_GET_INSTANCE_ID(instance) (&instance) |
Macro for returning the address of a variable. | |
#define | NRF_CSENSE_BUTTON_DEF(name, p1) NRF_CSENSE_INTERNAL_BUTTON_DEF(name, p1) |
Statically allocate memory for the instance of a capacitive sensor. More... | |
#define | NRF_CSENSE_SLIDER_2_DEF(name, steps_no, p1, p2) NRF_CSENSE_INTERNAL_SLIDER_2_DEF(name, steps_no, p1, p2) |
Macro for creating a 2-pad slider instance. More... | |
#define | NRF_CSENSE_SLIDER_3_DEF(name, steps_no, p1, p2, p3) NRF_CSENSE_INTERNAL_SLIDER_3_DEF(name, steps_no, p1, p2, p3) |
Macro for creating a 3-pad slider instance. More... | |
#define | NRF_CSENSE_SLIDER_4_DEF(name, steps_no, p1, p2, p3, p4) NRF_CSENSE_INTERNAL_SLIDER_4_DEF(name, steps_no, p1, p2, p3, p4) |
Macro for creating a 4-pad slider instance. More... | |
#define | NRF_CSENSE_SLIDER_5_DEF(name, steps_no, p1, p2, p3, p4, p5) NRF_CSENSE_INTERNAL_SLIDER_5_DEF(name, steps_no, p1, p2, p3, p4, p5) |
Macro for creating a 5-pad slider instance. More... | |
#define | NRF_CSENSE_WHEEL_3_DEF(name, steps_no, p1, p2, p3) NRF_CSENSE_INTERNAL_WHEEL_3_DEF(name, steps_no, p1, p2, p3) |
Macro for creating a 3-pad wheel instance. More... | |
#define | NRF_CSENSE_WHEEL_4_DEF(name, steps_no, p1, p2, p3, p4) NRF_CSENSE_INTERNAL_WHEEL_4_DEF(name, steps_no, p1, p2, p3, p4) |
Macro for creating a 4-pad wheel instance. More... | |
#define | NRF_CSENSE_WHEEL_5_DEF(name, steps_no, p1, p2, p3, p4, p5) NRF_CSENSE_INTERNAL_WHEEL_5_DEF(name, steps_no, p1, p2, p3, p4, p5) |
Macro for creating a 5-pad wheel instance. More... | |
Typedefs | |
typedef void(* | nrf_csense_event_handler_t )(nrf_csense_evt_t *p_evt) |
Capacitive sensor handler type. | |
Enumerations | |
enum | nrf_csense_evt_type_t { NRF_CSENSE_BTN_EVT_PRESSED, NRF_CSENSE_BTN_EVT_RELEASED, NRF_CSENSE_SLIDER_EVT_PRESSED, NRF_CSENSE_SLIDER_EVT_RELEASED, NRF_CSENSE_SLIDER_EVT_DRAGGED } |
Enum for nrf_csense events. More... | |
Functions | |
__STATIC_INLINE void | nrf_csense_instance_context_set (nrf_csense_instance_t *const p_instance, void *p_context) |
Function for setting a handler of the instance. More... | |
ret_code_t | nrf_csense_init (nrf_csense_event_handler_t event_handler, uint32_t ticks) |
Function for initializing the module. After initialization, no instances are enabled. More... | |
ret_code_t | nrf_csense_uninit (void) |
Function for uninitializing the module. More... | |
ret_code_t | nrf_csense_add (nrf_csense_instance_t *const p_instance) |
Function for adding an instance of capacitive sensor to a linked list. More... | |
ret_code_t | nrf_csense_enable (nrf_csense_instance_t *const p_instance) |
Function for enabling a single instance. More... | |
ret_code_t | nrf_csense_disable (nrf_csense_instance_t *const p_instance) |
Function for disabling an instance. More... | |
ret_code_t | nrf_csense_ticks_set (uint32_t ticks) |
Function for setting ticks between next measurements. More... | |
ret_code_t | nrf_csense_steps_set (nrf_csense_instance_t *const p_instance, uint16_t steps) |
Function for setting steps of an instance. More... | |
Module for using the capacitive sensor library with support for many instances of sliders, wheels, and buttons.
#define NRF_CSENSE_BUTTON_DEF | ( | name, | |
p1 | |||
) | NRF_CSENSE_INTERNAL_BUTTON_DEF(name, p1) |
Statically allocate memory for the instance of a capacitive sensor.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_SLIDER_2_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2 | |||
) | NRF_CSENSE_INTERNAL_SLIDER_2_DEF(name, steps_no, p1, p2) |
Macro for creating a 2-pad slider instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_SLIDER_3_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2, | |||
p3 | |||
) | NRF_CSENSE_INTERNAL_SLIDER_3_DEF(name, steps_no, p1, p2, p3) |
Macro for creating a 3-pad slider instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p3 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_SLIDER_4_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2, | |||
p3, | |||
p4 | |||
) | NRF_CSENSE_INTERNAL_SLIDER_4_DEF(name, steps_no, p1, p2, p3, p4) |
Macro for creating a 4-pad slider instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p3 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p4 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_SLIDER_5_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2, | |||
p3, | |||
p4, | |||
p5 | |||
) | NRF_CSENSE_INTERNAL_SLIDER_5_DEF(name, steps_no, p1, p2, p3, p4, p5) |
Macro for creating a 5-pad slider instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p3 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p4 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p5 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_WHEEL_3_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2, | |||
p3 | |||
) | NRF_CSENSE_INTERNAL_WHEEL_3_DEF(name, steps_no, p1, p2, p3) |
Macro for creating a 3-pad wheel instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p3 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_WHEEL_4_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2, | |||
p3, | |||
p4 | |||
) | NRF_CSENSE_INTERNAL_WHEEL_4_DEF(name, steps_no, p1, p2, p3, p4) |
Macro for creating a 4-pad wheel instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p3 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p4 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
#define NRF_CSENSE_WHEEL_5_DEF | ( | name, | |
steps_no, | |||
p1, | |||
p2, | |||
p3, | |||
p4, | |||
p5 | |||
) | NRF_CSENSE_INTERNAL_WHEEL_5_DEF(name, steps_no, p1, p2, p3, p4, p5) |
Macro for creating a 5-pad wheel instance.
[in,out] | name | Name of the capacitive sensor instance that will be created. |
[in] | steps_no | Number of relative pads. It means that the slider in its handler will give values (1, steps_no). |
[in] | p1 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p2 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p3 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p4 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
[in] | p5 | Pair of two arguments: threshold and analog_input_number. Must be passed as (analog_input_number, threshold). |
Enum for nrf_csense events.
ret_code_t nrf_csense_add | ( | nrf_csense_instance_t *const | p_instance | ) |
Function for adding an instance of capacitive sensor to a linked list.
The function calls nrf_csense_enable to enable the instance that was added to the linked list.
[in] | p_instance | Pointer to the capacitive sensor instance. It is saved by the module and is used whenever the instance is referred. |
ret_code_t nrf_csense_disable | ( | nrf_csense_instance_t *const | p_instance | ) |
Function for disabling an instance.
[in] | p_instance | Pointer to the instance to be disabled. |
NRF_ERROR_INVALID_PARAM | If the instance was already disabled. |
NRF_SUCCESS | If the instance was disabled successfully. |
ret_code_t nrf_csense_enable | ( | nrf_csense_instance_t *const | p_instance | ) |
Function for enabling a single instance.
[in,out] | p_instance | Pointer to the capacitive sensor instance. It is saved by the module and is used whenever the instance is referred. |
ret_code_t nrf_csense_init | ( | nrf_csense_event_handler_t | event_handler, |
uint32_t | ticks | ||
) |
Function for initializing the module. After initialization, no instances are enabled.
[in] | event_handler | Event handler for the Capacitive Sensor module. |
[in] | ticks | Time in app_timer ticks between next conversions. |
NRF_ERROR_INVALID_PARAM | If invalid parameter was provided. |
NRF_ERROR_INVALID_STATE | If one of the used modules is in invalid state. |
NRF_ERROR_INTERNAL | If an error occured while initializing one of the modules used by the capacitive sensor library. |
NRF_SUCCESS | If the module was initialized successfully. |
__STATIC_INLINE void nrf_csense_instance_context_set | ( | nrf_csense_instance_t *const | p_instance, |
void * | p_context | ||
) |
Function for setting a handler of the instance.
[in] | p_instance | Pointer to the instance whose steps are going to be changed. |
[in] | p_context | General purpose pointer. Will be passed to the callback function. |
ret_code_t nrf_csense_steps_set | ( | nrf_csense_instance_t *const | p_instance, |
uint16_t | steps | ||
) |
Function for setting steps of an instance.
Note that you have do disable the instance before you can change its number of steps.
[in] | p_instance | Pointer to the instance whose steps are going to be changed. |
[in] | steps | New steps value. |
NRF_ERROR_BUSY | If the capacitive sensor was busy. |
NRF_SUCCESS | If steps were set successfully. |
ret_code_t nrf_csense_ticks_set | ( | uint32_t | ticks | ) |
Function for setting ticks between next measurements.
[in] | ticks | New time between conversions in app_timer ticks. |
NRF_ERROR_BUSY | If the capacitive sensor was busy. |
NRF_ERROR_INVALID_PARAM | If an invalid parameter was provided. |
NRF_ERROR_INVALID_STATE | If app_timer was in invalid state. |
NRF_SUCCESS | If ticks were set successfully. |
ret_code_t nrf_csense_uninit | ( | void | ) |
Function for uninitializing the module.