LUFA Library  210130
Joystick Driver - LUFA/Drivers/Board/Joystick.h

Digital joystick board hardware driver. More...

Modules

 BUMBLEB
 Board specific joystick driver header for the Fletchtronics BUMBLEB.
 
 EVK1100
 Board specific joystick driver header for the Atmel EVK1100.
 
 EVK1101
 Board specific joystick driver header for the Atmel EVK1101.
 
 EVK527
 Board specific joystick driver header for the Atmel EVK527.
 
 STK525
 Board specific joystick driver header for the Atmel STK525.
 
 STK526
 Board specific joystick driver header for the Atmel STK526.
 
 USBKEY
 Board specific joystick driver header for the Atmel USBKEY.
 

Functions

static void Joystick_Disable (void)
 
static uint_reg_t Joystick_GetStatus (void) ATTR_WARN_UNUSED_RESULT
 
static void Joystick_Init (void)
 

Detailed Description

Module Source Dependencies

The following files must be built with any user project that uses this module:

Module Description

Hardware Joystick driver. This module provides an easy to use interface to control the hardware digital Joystick located on many boards.

If the BOARD value is set to BOARD_USER, this will include the /Board/Joystick.h file in the user project directory. Otherwise, it will include the appropriate built-in board driver header file.

For possible BOARD makefile values, see Board Types.

Example Usage

The following snippet is an example of how this module may be used within a typical application.

// Initialize the board Joystick driver before first use
printf("Waiting for joystick movement...\r\n");
// Loop until a the joystick has been moved
uint8_t JoystickMovement;
while (!(JoystickMovement = Joystick_GetStatus())) {};
// Display which direction the joystick was moved in
printf("Joystick moved:\r\n");
if (JoystickMovement & (JOY_UP | JOY_DOWN))
printf("%s ", (JoystickMovement & JOY_UP) ? "Up" : "Down");
if (JoystickMovement & (JOY_LEFT | JOY_RIGHT))
printf("%s ", (JoystickMovement & JOY_LEFT) ? "Left" : "Right");
if (JoystickMovement & JOY_PRESS)
printf("Pressed");
#define JOY_PRESS
Definition: Joystick.h:75
#define JOY_RIGHT
Definition: Joystick.h:66
#define JOY_LEFT
Definition: Joystick.h:63
#define JOY_UP
Definition: Joystick.h:69
#define JOY_DOWN
Definition: Joystick.h:72
static uint_reg_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT
static void Joystick_Init(void)

Function Documentation

◆ Joystick_Disable()

static void Joystick_Disable ( void  )
inlinestatic

Disables the joystick driver, releasing the I/O pins back to their default high-impedance input mode.

◆ Joystick_GetStatus()

static uint_reg_t Joystick_GetStatus ( void  )
inlinestatic

Returns the current status of the joystick, as a mask indicating the direction the joystick is currently facing in (multiple bits can be set).

Returns
Mask of JOYSTICK_* constants indicating the current joystick direction(s).

◆ Joystick_Init()

static void Joystick_Init ( void  )
inlinestatic

Initializes the joystick driver so that the joystick position can be read. This sets the appropriate I/O pins to inputs with their pull-ups enabled.

This must be called before any Joystick driver functions are used.