User Interface.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Macros | |
#define | SEQUENCE_PERIOD 150 |
Sequence process running each SEQUENCE_PERIOD ms. More... | |
#define | UI_WAKEUP_BPM_SRC BPM_BKUPWEN_EIC |
#define | UI_WAKEUP_EIC_LINE SW0_EIC_LINE |
#define | UI_WAKEUP_HANDLER button_handler |
#define | UI_WAKEUP_IRQ_LEVEL 5 |
#define | UI_WAKEUP_IRQN EIC_1_IRQn |
Functions | |
void | ui_init (void) |
Initializes the user interface. More... | |
void | ui_kbd_led (uint8_t value) |
Turn on or off the keyboard LEDs. More... | |
void | ui_powerdown (void) |
Enters the user interface in power down mode. More... | |
void | ui_process (uint16_t framenumber) |
This process is called each 1ms It is called only if the USB interface is enabled. More... | |
void | ui_wakeup (void) |
Exits the user interface of power down mode. More... | |
void | ui_wakeup_disable (void) |
Disables the asynchronous interrupts of the user interface. More... | |
void | ui_wakeup_enable (void) |
Enables the asynchronous interrupts of the user interface. More... | |
Internal routines to manage asynchronous interrupt pin change | |
This interrupt is connected to a switch and allows to wakeup CPU in low sleep mode. This wakeup the USB devices connected via a downstream resume. | |
static void | ui_enable_asynchronous_interrupt (void) |
Initializes and enables interrupt pin change. More... | |
static void | ui_disable_asynchronous_interrupt (void) |
Disables interrupt pin change. More... | |
static void | UI_WAKEUP_HANDLER (void) |
Variables | |
static bool | btn_wakeup = false |
Wakeup, ignore button change until button is back to default state. More... | |
struct { | |
bool b_down | |
bool b_modifier | |
uint8_t value | |
} | ui_sequence [] |
#define SEQUENCE_PERIOD 150 |
Sequence process running each SEQUENCE_PERIOD
ms.
Referenced by ui_process().
#define UI_WAKEUP_BPM_SRC BPM_BKUPWEN_EIC |
#define UI_WAKEUP_EIC_LINE SW0_EIC_LINE |
Referenced by ui_disable_asynchronous_interrupt(), ui_enable_asynchronous_interrupt(), and UI_WAKEUP_HANDLER().
#define UI_WAKEUP_HANDLER button_handler |
Referenced by ui_enable_asynchronous_interrupt().
#define UI_WAKEUP_IRQ_LEVEL 5 |
Referenced by ui_enable_asynchronous_interrupt().
#define UI_WAKEUP_IRQN EIC_1_IRQn |
Referenced by ui_enable_asynchronous_interrupt().
|
static |
Disables interrupt pin change.
References eic_line_disable_interrupt(), sysclk_disable_peripheral_clock(), and UI_WAKEUP_EIC_LINE.
Referenced by ui_wakeup_disable(), and UI_WAKEUP_HANDLER().
|
static |
Initializes and enables interrupt pin change.
References EIC_ASYNCH_MODE, EIC_EDGE_FALLING_EDGE, eic_enable(), EIC_FILTER_DISABLED, EIC_LEVEL_LOW_LEVEL, eic_line_enable(), eic_line_enable_interrupt(), eic_line_set_callback(), eic_line_set_config(), eic_line_config::eic_mode, EIC_MODE_EDGE_TRIGGERED, sysclk_enable_peripheral_clock(), UI_WAKEUP_EIC_LINE, UI_WAKEUP_HANDLER, UI_WAKEUP_IRQ_LEVEL, and UI_WAKEUP_IRQN.
Referenced by ui_wakeup_enable().
void ui_init | ( | void | ) |
void ui_kbd_led | ( | uint8_t | value | ) |
Turn on or off the keyboard LEDs.
References UNUSED.
void ui_powerdown | ( | void | ) |
Enters the user interface in power down mode.
Referenced by main(), and main_suspend_action().
void ui_process | ( | uint16_t | framenumber | ) |
This process is called each 1ms It is called only if the USB interface is enabled.
framenumber | Current frame number |
References b_down, b_modifier, btn_wakeup, GPIO_PUSH_BUTTON_0, ioport_get_pin_level(), LED0, LED_Off, LED_On, SEQUENCE_PERIOD, udi_hid_kbd_down(), udi_hid_kbd_modifier_down(), udi_hid_kbd_modifier_up(), udi_hid_kbd_up(), ui_sequence, and value.
Referenced by main(), and main_sof_action().
void ui_wakeup | ( | void | ) |
Exits the user interface of power down mode.
Referenced by main_resume_action().
void ui_wakeup_disable | ( | void | ) |
Disables the asynchronous interrupts of the user interface.
References ui_disable_asynchronous_interrupt().
Referenced by main_remotewakeup_disable().
void ui_wakeup_enable | ( | void | ) |
Enables the asynchronous interrupts of the user interface.
References ui_enable_asynchronous_interrupt().
Referenced by main_remotewakeup_enable().
|
static |
bool b_down |
Referenced by ui_process().
bool b_modifier |
Referenced by ui_process().
Wakeup, ignore button change until button is back to default state.
Referenced by ui_process(), and UI_WAKEUP_HANDLER().
struct { ... } ui_sequence[] |
Referenced by ui_process().
uint8_t value |
Referenced by flashcalw_erase_gp_fuse_byte(), and ui_process().