Joystick API
Description
Joystick API.
Introduction
The joystick driver is a platform board level software module that provides the functionality to initialize and read joystick position through the joystick hardware present on the Wireless Pro Kit (BRD4002A)
Configuration
Joystick driver allows configuring the rate of signal acquisition. This can be configured from the joystick component, available options are:
- 100 samples/second
- 1000 samples/second
- 5000 samples/second
- 10000 samples/second
- 25000 samples/second
Joystick driver also allows configuring the voltage values which correspond to a particular joystick position
Usage
Once the joystick handle of type sl_joystick_t is defined, joystick functions can be called being passed the defined handle. The functions include the following:
sl_joystick_init must be called followed by sl_joystick_start before attempting to read the position of the joystick.
The sl_joystick_get_position is used to update the position, and needs to be called from a tick function or similar by the user.
Basic example code to show usage of Joystick driver
Data Structures |
|
struct | sl_joystick |
Joystick handle.
|
|
Functions |
|
sl_status_t | sl_joystick_init ( sl_joystick_t *joystick_handle) |
PROTOTYPES **********************************.
|
|
sl_status_t | sl_joystick_get_position ( sl_joystick_t *joystick_handle, sl_joystick_position_t *pos) |
Get joystick position.
|
|
void | sl_joystick_start ( sl_joystick_t *joystick_handle) |
Start Analog Joystick data acquisition.
|
|
void | sl_joystick_stop ( sl_joystick_t *joystick_handle) |
Stop Analog Joystick data acquisition.
|
|
Macros |
|
#define | ENABLE_SECONDARY_DIRECTIONS 0 |
DEFINES ************************************.
|
|
#define | JOYSTICK_MV_ERROR JOYSTICK_MV_ERR_CARDINAL_ONLY |
#define | CLK_SRC_ADC_FREQ 5000000 |
#define | CLK_ADC_FREQ 1000000 |
#define | JOYSTICK_HANDLE_DEFAULT |
Typedefs |
|
typedef sl_joystick | sl_joystick_t |
Enumerations |
|
enum |
sl_joystick_state_t
{
SL_JOYSTICK_DISABLED = 0U, SL_JOYSTICK_ENABLED = 1U } |
Direction Enums |
|
enum |
sl_joystick_position_t
{
JOYSTICK_NONE = 0u, JOYSTICK_C , JOYSTICK_N , JOYSTICK_E , JOYSTICK_S , JOYSTICK_W } |
Function Documentation
◆ sl_joystick_init()
sl_status_t sl_joystick_init | ( | sl_joystick_t * |
joystick_handle
|
) |
PROTOTYPES **********************************.
Joystick init. This function should be called before calling any other Joystick function. Sets up the ADC.
- Parameters
-
[in] joystick_handle
Pointer to joystick handle
- Returns
-
Status Code:
- SL_STATUS_OK Success
- SL_STATUS_ALLOCATION_FAILED Bus Allocation error
◆ sl_joystick_get_position()
sl_status_t sl_joystick_get_position | ( | sl_joystick_t * |
joystick_handle,
|
sl_joystick_position_t * |
pos
|
||
) |
Get joystick position.
- Parameters
-
[in] joystick_handle
Pointer to joystick handle [out] pos
Pointer to output variable of type sl_joystick_position_t
- Returns
-
Status Code:
- SL_STATUS_OK Success
- SL_STATUS_NOT_READY Joystick acquition not started error
◆ sl_joystick_start()
void sl_joystick_start | ( | sl_joystick_t * |
joystick_handle
|
) |
Start Analog Joystick data acquisition.
- Parameters
-
[in] joystick_handle
Pointer to joystick handle
◆ sl_joystick_stop()
void sl_joystick_stop | ( | sl_joystick_t * |
joystick_handle
|
) |
Stop Analog Joystick data acquisition.
- Parameters
-
[in] joystick_handle
Pointer to joystick handle
Macro Definition Documentation
◆ ENABLE_SECONDARY_DIRECTIONS
#define ENABLE_SECONDARY_DIRECTIONS 0 |
DEFINES ************************************.
◆ JOYSTICK_HANDLE_DEFAULT
#define JOYSTICK_HANDLE_DEFAULT |
Enumeration Type Documentation
◆ sl_joystick_position_t
◆ sl_joystick_state_t
enum sl_joystick_state_t |