Microchip® Advanced Software Framework

ui.c File Reference

User Interface.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include <asf.h>
#include "ui.h"

Macros

#define SEQUENCE_PERIOD   150
 Sequence process running each SEQUENCE_PERIOD ms. More...
 

Functions

 ISR (ui_wakeup_isr, AVR32_GPIO_IRQ_GROUP, 0)
 
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...
 

Variables

static eic_options_t eic_options
 Structure holding the configuration parameters of the EIC low level driver. More...
 
struct {
   bool   b_down
 
   bool   b_modifier
 
   uint8_t   u8_value
 
ui_sequence []
 

#define SEQUENCE_PERIOD   150

Sequence process running each SEQUENCE_PERIOD ms.

Referenced by ui_process().

ISR ( ui_wakeup_isr  ,
AVR32_GPIO_IRQ_GROUP  ,
 
)
void ui_init ( void  )

Initializes the user interface.

References cpu_irq_restore(), cpu_irq_save(), GPIO_PUSH_BUTTON_0, irq_register_handler, LED0, LED1, LED2, LED3, LED_Off(), and LED_On().

Referenced by main().

void ui_kbd_led ( uint8_t  value)

Turn on or off the keyboard LEDs.

References HID_LED_CAPS_LOCK, HID_LED_NUM_LOCK, LED2, LED3, LED_Off(), and LED_On().

void ui_powerdown ( void  )

Enters the user interface in power down mode.

References LED0, LED1, LED2, LED3, and LED_Off().

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.

Parameters
framenumberCurrent frame number

References b_down, b_modifier, gpio_get_pin_value(), GPIO_PUSH_BUTTON_0, LED1, LED_Off(), LED_On(), SEQUENCE_PERIOD, u8_value, udi_hid_kbd_down(), udi_hid_kbd_modifier_down(), udi_hid_kbd_modifier_up(), udi_hid_kbd_up(), and ui_sequence.

Referenced by main(), and main_sof_action().

void ui_wakeup ( void  )

Exits the user interface of power down mode.

References LED0, and LED_On().

Referenced by main_resume_action().

void ui_wakeup_disable ( void  )

Disables the asynchronous interrupts of the user interface.

References eic_disable_line(), EXT_INT6, gpio_disable_pin_interrupt(), and GPIO_PUSH_BUTTON_0.

Referenced by main_remotewakeup_disable().

void ui_wakeup_enable ( void  )

bool b_down

Referenced by ui_process().

bool b_modifier

Referenced by ui_process().

eic_options_t eic_options
static
Initial value:
= {
.eic_edge = 0,
.eic_level = EIC_LEVEL_LOW_LEVEL,
.eic_filter = EIC_FILTER_ENABLED,
.eic_async = EIC_ASYNCH_MODE
}
#define EIC_ASYNCH_MODE
Definition: eic.h:115
#define EIC_FILTER_ENABLED
Definition: eic.h:107
#define EIC_LEVEL_LOW_LEVEL
Definition: eic.h:100
#define EIC_MODE_LEVEL_TRIGGERED
Definition: eic.h:87

Structure holding the configuration parameters of the EIC low level driver.

uint8_t u8_value

Referenced by ui_process().

struct { ... } ui_sequence[]

Referenced by ui_process().