Simple Button Driver
Description
Simple Button Driver module provides APIs to initalize and read simple buttons. Subsequent sections provide more insight into button driver configuration and usage.
Introduction
The Simple Button driver is a module of the button driver that provides the functionality to initialize and read simple buttons.
Simple Button Configuration
Simple buttons use the sl_button_t struct and their sl_simple_button_context_t struct. These are automatically generated into the following files, as well as instance specific headers with macro definitions in them. The samples below are for a single instance called "inst0".
- Note
- The sl_simple_button_instances.c file is shown with only one instance, but if more were in use they would all appear in this .c file.
- Note
- The sl_simple_button_instances.h file is shown with only one instance, but if more were in use they would all appear in this .h file.
Simple Button Usage
The simple button driver has no differences in its usage from the common button driver. See Usage .
Data Structures |
|
struct | sl_simple_button_context_t |
A Simple BUTTON instance.
|
|
Functions |
|
sl_status_t | sl_simple_button_init (const sl_button_t *handle) |
Initialize the simple button driver.
|
|
sl_button_state_t | sl_simple_button_get_state (const sl_button_t *handle) |
Get the current state of the simple button.
|
|
void | sl_simple_button_poll_step (const sl_button_t *handle) |
Poll the simple button.
|
|
void | sl_simple_button_enable (const sl_button_t *handle) |
Enable the simple button.
|
|
void | sl_simple_button_disable (const sl_button_t *handle) |
Disable the simple button.
|
|
Macros |
|
#define | SL_SIMPLE_BUTTON_MODE_POLL 0U |
BUTTON input capture using polling.
|
|
#define | SL_SIMPLE_BUTTON_MODE_POLL_AND_DEBOUNCE 1U |
BUTTON input capture using polling and debouncing.
|
|
#define | SL_SIMPLE_BUTTON_MODE_INTERRUPT 2U |
BUTTON input capture using interrupt.
|
|
#define | SL_SIMPLE_BUTTON_DISABLED 2U |
BUTTON state is disabled.
|
|
#define | SL_SIMPLE_BUTTON_PRESSED 1U |
BUTTON state is pressed.
|
|
#define | SL_SIMPLE_BUTTON_RELEASED 0U |
BUTTON state is released.
|
|
#define | SL_SIMPLE_BUTTON_GET_STATE (context) ((( sl_simple_button_context_t *)(context))->state) |
BUTTON member function to get state.
|
|
#define | SL_SIMPLE_BUTTON_GET_PORT (context) ((( sl_simple_button_context_t *)(context))->port) |
BUTTON member function to get port.
|
|
#define | SL_SIMPLE_BUTTON_GET_PIN (context) ((( sl_simple_button_context_t *)(context))->pin) |
BUTTON member function to get pin.
|
|
#define | SL_SIMPLE_BUTTON_GET_MODE (context) ((( sl_simple_button_context_t *)(context))->mode) |
BUTTON member function to get mode.
|
|
Function Documentation
◆ sl_simple_button_init()
sl_status_t sl_simple_button_init | ( | const sl_button_t * |
handle
|
) |
Initialize the simple button driver.
- Parameters
-
[in] handle
Pointer to button handle: - sl_button_t
- Returns
-
Status Code:
- SL_STATUS_OK
◆ sl_simple_button_get_state()
sl_button_state_t sl_simple_button_get_state | ( | const sl_button_t * |
handle
|
) |
Get the current state of the simple button.
- Parameters
-
[in] handle
Pointer to button handle: - sl_button_t
- Returns
-
Button State: Current state of the button
- SL_SIMPLE_BUTTON_PRESSED
- SL_SIMPLE_BUTTON_RELEASED
◆ sl_simple_button_poll_step()
void sl_simple_button_poll_step | ( | const sl_button_t * |
handle
|
) |
Poll the simple button.
(button mode - poll / poll and debonuce)
- Parameters
-
[in] handle
Pointer to button handle: - sl_button_t
◆ sl_simple_button_enable()
void sl_simple_button_enable | ( | const sl_button_t * |
handle
|
) |
Enable the simple button.
- Parameters
-
[in] handle
Pointer to button handle: - sl_button_t
◆ sl_simple_button_disable()
void sl_simple_button_disable | ( | const sl_button_t * |
handle
|
) |
Disable the simple button.
- Parameters
-
[in] handle
Pointer to button handle: - sl_button_t
Macro Definition Documentation
◆ SL_SIMPLE_BUTTON_MODE_POLL
#define SL_SIMPLE_BUTTON_MODE_POLL 0U |
BUTTON input capture using polling.
◆ SL_SIMPLE_BUTTON_MODE_POLL_AND_DEBOUNCE
#define SL_SIMPLE_BUTTON_MODE_POLL_AND_DEBOUNCE 1U |
BUTTON input capture using polling and debouncing.
◆ SL_SIMPLE_BUTTON_MODE_INTERRUPT
#define SL_SIMPLE_BUTTON_MODE_INTERRUPT 2U |
BUTTON input capture using interrupt.
◆ SL_SIMPLE_BUTTON_DISABLED
#define SL_SIMPLE_BUTTON_DISABLED 2U |
BUTTON state is disabled.
◆ SL_SIMPLE_BUTTON_PRESSED
#define SL_SIMPLE_BUTTON_PRESSED 1U |
BUTTON state is pressed.
◆ SL_SIMPLE_BUTTON_RELEASED
#define SL_SIMPLE_BUTTON_RELEASED 0U |
BUTTON state is released.
◆ SL_SIMPLE_BUTTON_GET_STATE
#define SL_SIMPLE_BUTTON_GET_STATE | ( |
context
|
) | ((( sl_simple_button_context_t *)(context))->state) |
BUTTON member function to get state.
◆ SL_SIMPLE_BUTTON_GET_PORT
#define SL_SIMPLE_BUTTON_GET_PORT | ( |
context
|
) | ((( sl_simple_button_context_t *)(context))->port) |
BUTTON member function to get port.
◆ SL_SIMPLE_BUTTON_GET_PIN
#define SL_SIMPLE_BUTTON_GET_PIN | ( |
context
|
) | ((( sl_simple_button_context_t *)(context))->pin) |
BUTTON member function to get pin.
◆ SL_SIMPLE_BUTTON_GET_MODE
#define SL_SIMPLE_BUTTON_GET_MODE | ( |
context
|
) | ((( sl_simple_button_context_t *)(context))->mode) |
BUTTON member function to get mode.