Microchip® Advanced Software Framework

controller.h File Reference
#include "compiler.h"
#include "gui.h"

Functions

void controller_clear (void)
 Reset the key state. More...
 
Constructor/Destructor
void controller_init (uint32_t fcpu_hz, uint32_t fhsb_hz, uint32_t fpbb_hz, uint32_t fpba_hz)
 Initialization function of the controller interface. More...
 
void controller_shutdown (void)
 Shutdown the controller. More...
 
Navigation view
bool controller_navigation_cursor_previous (void)
 This function is called to check if the user has pressed the previous file selection key. More...
 
bool controller_navigation_cursor_next (void)
 This function is called to check if the user has pressed the next file selection key. More...
 
bool controller_navigation_go_to_parent_directory (void)
 This function is called to check if the user has pressed the go to parent directory key. More...
 
bool controller_navigation_change_directory (void)
 This function is called to check if the user has pressed the change directory key. More...
 
Playback view
bool controller_playback_toggle_play_pause (void)
 This function is called to check if the user has pressed the play/pause key. More...
 
bool controller_playback_increase_volume (void)
 This function is called to check if the user has pressed the increase volume key. More...
 
bool controller_playback_decrease_volume (void)
 This function is called to check if the user has pressed the decrease volume key. More...
 
bool controller_playback_previous_track (void)
 This function is called to check if the user has pressed the previous track key. More...
 
bool controller_playback_next_track (void)
 This function is called to check if the user has pressed the next track key. More...
 
bool controller_playback_ffw (bool new_track)
 This function is called to check if the user has pressed the fast forward key. More...
 
bool controller_playback_frw (bool new_track)
 This function is called to check if the user has pressed the fast rewind key. More...
 
Configuration view
bool controller_config_change_mode (void)
 This function is called to check if the user has pressed the configuration change key. More...
 
bool controller_config_next_option (void)
 This function is called to check if the user has pressed the next option key. More...
 
bool controller_config_previous_option (void)
 This function is called to check if the user has pressed the previous option key. More...
 
bool controller_navigation_play (void)
 This function is called to check if the user has pressed the play selected file key. More...
 
View switching
bool controller_switch_to_navigation_view (enum gui_update_view view)
 This function is called to check if the user has requested to move to the navigation view. More...
 
bool controller_switch_to_playback_view (enum gui_update_view view)
 This function is called to check if the user has requested to move to the playback view. More...
 
bool controller_switch_to_config_view (enum gui_update_view view)
 This function is called to check if the user has requested to move to the configuration view. More...
 

void controller_clear ( void  )

Reset the key state.

References joystick_status, and JOYSTICK_STATUS_IDLE.

Referenced by config_task(), navigation_task(), and playback_task().

bool controller_config_change_mode ( void  )

This function is called to check if the user has pressed the configuration change key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_PRESSED, and is_joystick_released_pressed().

Referenced by config_task().

bool controller_config_next_option ( void  )

This function is called to check if the user has pressed the next option key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_DOWN, IS_JOYSTICK_KEY_DOWN, and is_joystick_released_down().

Referenced by config_task().

bool controller_config_previous_option ( void  )

This function is called to check if the user has pressed the previous option key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_UP, IS_JOYSTICK_KEY_UP, and is_joystick_released_up().

Referenced by config_task().

void controller_init ( uint32_t  fcpu_hz,
uint32_t  fhsb_hz,
uint32_t  fpbb_hz,
uint32_t  fpba_hz 
)
bool controller_navigation_change_directory ( void  )

This function is called to check if the user has pressed the change directory key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_RIGHT, IS_JOYSTICK_KEY_PRESSED, IS_JOYSTICK_KEY_SLIDING_RIGHT, and is_joystick_released_right().

Referenced by navigation_task().

bool controller_navigation_cursor_next ( void  )

This function is called to check if the user has pressed the next file selection key.

Returns
true if the key has been pressed. false otherwise.

References is_joystick_down().

Referenced by navigation_task().

bool controller_navigation_cursor_previous ( void  )

This function is called to check if the user has pressed the previous file selection key.

Returns
true if the key has been pressed. false otherwise.

References is_joystick_up().

Referenced by navigation_task().

bool controller_navigation_go_to_parent_directory ( void  )

This function is called to check if the user has pressed the go to parent directory key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_LEFT, IS_JOYSTICK_KEY_PRESSED, and is_joystick_released_left().

Referenced by navigation_task().

bool controller_navigation_play ( void  )

This function is called to check if the user has pressed the play selected file key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_PRESSED, and is_joystick_released_pressed().

Referenced by navigation_task().

bool controller_playback_decrease_volume ( void  )

This function is called to check if the user has pressed the decrease volume key.

Returns
true if the key has been pressed. false otherwise.

References is_joystick_down().

Referenced by playback_task().

bool controller_playback_ffw ( bool  new_track)

This function is called to check if the user has pressed the fast forward key.

Returns
true if the key has been pressed. false otherwise.

References cpu_is_timeout(), cpu_ms_2_cy(), cpu_set_timeout(), fast_mode, IS_JOYSTICK_KEY_RIGHT, and static_fcpu_hz.

Referenced by playback_task().

bool controller_playback_frw ( bool  new_track)

This function is called to check if the user has pressed the fast rewind key.

Returns
true if the key has been pressed. false otherwise.

References cpu_is_timeout(), cpu_ms_2_cy(), cpu_set_timeout(), fast_mode, IS_JOYSTICK_KEY_LEFT, and static_fcpu_hz.

Referenced by playback_task().

bool controller_playback_increase_volume ( void  )

This function is called to check if the user has pressed the increase volume key.

Returns
true if the key has been pressed. false otherwise.

References is_joystick_up().

Referenced by playback_task().

bool controller_playback_next_track ( void  )

This function is called to check if the user has pressed the next track key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_RIGHT, cpu_is_timeout(), fast_mode, IS_JOYSTICK_KEY_PRESSED, and IS_JOYSTICK_RELEASED_KEY_RIGHT.

Referenced by playback_task().

bool controller_playback_previous_track ( void  )

This function is called to check if the user has pressed the previous track key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_LEFT, cpu_is_timeout(), fast_mode, IS_JOYSTICK_KEY_PRESSED, and IS_JOYSTICK_RELEASED_KEY_LEFT.

Referenced by playback_task().

bool controller_playback_toggle_play_pause ( void  )

This function is called to check if the user has pressed the play/pause key.

Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_RELEASED_KEY_PRESSED, and IS_JOYSTICK_RELEASED_KEY_PRESSED.

Referenced by playback_task().

void controller_shutdown ( void  )

Shutdown the controller.

Referenced by com_task().

bool controller_switch_to_config_view ( enum gui_update_view  view)

This function is called to check if the user has requested to move to the configuration view.

Parameters
viewThe current view.
Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_KEY_ALL, GUI_UPDATE_VIEW_PLAYBACK, and IS_JOYSTICK_KEY_SLIDE_RIGHT.

Referenced by navigation_task(), and playback_task().

bool controller_switch_to_navigation_view ( enum gui_update_view  view)

This function is called to check if the user has requested to move to the navigation view.

Parameters
viewThe current view.
Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_KEY_ALL, GUI_UPDATE_VIEW_PLAYBACK, and IS_JOYSTICK_KEY_SLIDE_LEFT.

Referenced by config_task(), and playback_task().

bool controller_switch_to_playback_view ( enum gui_update_view  view)

This function is called to check if the user has requested to move to the playback view.

Parameters
viewThe current view.
Returns
true if the key has been pressed. false otherwise.

References CLEAR_JOYSTICK_KEY_ALL, GUI_UPDATE_VIEW_CONFIG, GUI_UPDATE_VIEW_NAVIGATION, IS_JOYSTICK_KEY_SLIDE_LEFT, and IS_JOYSTICK_KEY_SLIDE_RIGHT.

Referenced by config_task(), and navigation_task().