User Interface.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Macros | |
#define | MOUSE_MOVE_COUNT 50 |
#define | MOUSE_MOVE_RANGE 3 |
#define | MOVE_DOWN 2 |
#define | MOVE_LEFT 3 |
#define | MOVE_RIGHT 1 |
#define | MOVE_UP 0 |
#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_powerdown (void) |
Sets 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_start_read (void) |
void | ui_start_write (void) |
void | ui_stop_read (void) |
void | ui_stop_write (void) |
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 int32_t | move_count = MOUSE_MOVE_COUNT |
static uint8_t | move_dir = MOVE_UP |
#define MOUSE_MOVE_COUNT 50 |
Referenced by ui_process().
#define MOUSE_MOVE_RANGE 3 |
Referenced by ui_process().
#define MOVE_DOWN 2 |
Referenced by ui_process().
#define MOVE_LEFT 3 |
Referenced by ui_process().
#define MOVE_RIGHT 1 |
Referenced by ui_process().
#define MOVE_UP 0 |
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_powerdown | ( | void | ) |
Sets 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 ioport_get_pin_level(), LED0, LED_Off, LED_On, MOUSE_MOVE_COUNT, MOUSE_MOVE_RANGE, move_count, move_dir, MOVE_DOWN, MOVE_LEFT, MOVE_RIGHT, MOVE_UP, SW0_PIN, udi_hid_mouse_moveX(), and udi_hid_mouse_moveY().
Referenced by main_sof_action().
void ui_start_read | ( | void | ) |
void ui_start_write | ( | void | ) |
void ui_stop_read | ( | void | ) |
void ui_stop_write | ( | void | ) |
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 |
|
static |
Referenced by ui_process().
|
static |
Referenced by ui_process().