Microchip® Advanced Software Framework

ui.c File Reference

User Interface.

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

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

Macros

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

Functions

void ui_com_close (uint8_t port)
 Called when communication port is closed. More...
 
void ui_com_error (void)
 Called when a communication error occur. More...
 
void ui_com_open (uint8_t port)
 Called when communication port is opened. More...
 
void ui_com_overflow (void)
 Called when a overflow occur. More...
 
void ui_com_rx_start (void)
 Called when a data is received on CDC. More...
 
void ui_com_rx_stop (void)
 Called when all data pending are sent on port com. More...
 
void ui_com_tx_start (void)
 Called when a data is received on port com. More...
 
void ui_com_tx_stop (void)
 Called when all data pending are sent on CDC. More...
 
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_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...
 
static void ui_wakeup_handler (void)
 

Variables

static bool btn_wakeup = false
 Wakeup, ignore button change until button is back to default state. More...
 
static uint8_t button_function
 Choice of Button function, 0: Keyboard, 1: Mouse. More...
 
struct {
   bool   b_down
 
   bool   b_modifier
 
   uint8_t   value
 
ui_sequence []
 

#define MOUSE_MOVE_RANGE   5

Referenced by ui_process().

#define SEQUENCE_PERIOD   150

Sequence process running each SEQUENCE_PERIOD ms.

Referenced by ui_process().

void ui_com_close ( uint8_t  port)

Called when communication port is closed.

References UNUSED.

Referenced by main_cdc_set_dtr().

void ui_com_error ( void  )

Called when a communication error occur.

void ui_com_open ( uint8_t  port)

Called when communication port is opened.

References UNUSED.

Referenced by main_cdc_set_dtr().

void ui_com_overflow ( void  )

Called when a overflow occur.

Referenced by usart_rx_callback().

void ui_com_rx_start ( void  )

Called when a data is received on CDC.

Referenced by uart_rx_notify(), and usart_tx_callback().

void ui_com_rx_stop ( void  )

Called when all data pending are sent on port com.

Referenced by usart_tx_callback().

void ui_com_tx_start ( void  )

Called when a data is received on port com.

Referenced by usart_rx_callback().

void ui_com_tx_stop ( void  )

Called when all data pending are sent on CDC.

Referenced by usart_rx_callback().

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.

References LED_0_PIN, 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, btn_wakeup, BUTTON_0_PIN, button_function, LED_0_PIN, LED_Off, LED_On, MOUSE_MOVE_RANGE, port_pin_get_input_level(), SEQUENCE_PERIOD, udi_hid_kbd_down(), udi_hid_kbd_modifier_down(), udi_hid_kbd_modifier_up(), udi_hid_kbd_up(), udi_hid_mouse_moveY(), ui_sequence, and value.

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.

References LED_0_PIN, and LED_On.

Referenced by main_resume_action().

void ui_wakeup_disable ( void  )

Disables the asynchronous interrupts of the user interface.

References BUTTON_0_EIC_LINE, EXTINT_CALLBACK_TYPE_DETECT, and extint_chan_disable_callback().

Referenced by main_remotewakeup_disable().

void ui_wakeup_enable ( void  )

Enables the asynchronous interrupts of the user interface.

References BUTTON_0_EIC_LINE, EXTINT_CALLBACK_TYPE_DETECT, and extint_chan_enable_callback().

Referenced by main_remotewakeup_enable().

static void ui_wakeup_handler ( void  )
static

References LED_0_PIN, LED_On, and udc_remotewakeup().

Referenced by ui_init().

bool b_down

Referenced by ui_process().

bool b_modifier

Referenced by ui_process().

bool btn_wakeup = false
static

Wakeup, ignore button change until button is back to default state.

Referenced by ui_process().

uint8_t button_function
static

Choice of Button function, 0: Keyboard, 1: Mouse.

Referenced by ui_process().

struct { ... } ui_sequence[]

Referenced by ui_process().