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"

Functions

Main user interface functions
void ui_init (void)
 Initializes the user interface. More...
 
void ui_usb_mode_change (bool b_host_mode)
 Notify that the USB mode are switched automatically. This is possible only when ID pin is available. More...
 

Host mode user interface functions

static uhc_enum_status_t ui_enum_status =UHC_ENUM_DISCONNECT
 Status of device enumeration. More...
 
static uint16_t ui_device_speed_blink
 Blink frequency depending on device speed. More...
 
static int8_t ui_x
 Manages device mouse moving. More...
 
static int8_t ui_y
 
static int8_t ui_scroll
 
void ui_usb_vbus_change (bool b_vbus_present)
 Notify that a Vbus are changed Available only in USB hardware with Vbus monitoring. More...
 
void ui_usb_vbus_error (void)
 Notify that a Vbus error has occurred Available only in USB hardware with Vbus monitoring. More...
 
void ui_usb_connection_event (uhc_device_t *dev, bool b_present)
 Notify that a USB device has been connected or disconnected. More...
 
void ui_usb_enum_event (uhc_device_t *dev, uhc_enum_status_t status)
 Notify the end of a USB device enumeration. More...
 
void ui_usb_wakeup_event (void)
 Notify that a USB device or the host has wake up the USB line. More...
 
void ui_usb_sof_event (void)
 Notify that a SOF has been sent (each 1 ms) More...
 
static void ui_uhi_hid_mouse_btn (bool b_state)
 
void ui_uhi_hid_mouse_btn_left (bool b_state)
 
void ui_uhi_hid_mouse_btn_right (bool b_state)
 
void ui_uhi_hid_mouse_btn_middle (bool b_state)
 
void ui_uhi_hid_mouse_move (int8_t x, int8_t y, int8_t scroll)
 

void ui_init ( void  )

Initializes the user interface.

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

Referenced by main(), and ui_usb_mode_change().

static void ui_uhi_hid_mouse_btn ( bool  b_state)
static
void ui_uhi_hid_mouse_btn_left ( bool  b_state)
void ui_uhi_hid_mouse_btn_middle ( bool  b_state)
void ui_uhi_hid_mouse_btn_right ( bool  b_state)
void ui_uhi_hid_mouse_move ( int8_t  x,
int8_t  y,
int8_t  scroll 
)

References ui_scroll, ui_x, and ui_y.

void ui_usb_connection_event ( uhc_device_t *  dev,
bool  b_present 
)

Notify that a USB device has been connected or disconnected.

Parameters
devPointer on USB device information
b_presenttrue, if the device has been connected

References LED1, LED2, LED3, LED_Off(), LED_On(), and ui_enum_status.

void ui_usb_enum_event ( uhc_device_t *  dev,
uhc_enum_status_t  status 
)

Notify the end of a USB device enumeration.

Parameters
devPointer on USB device information
statusStatus of the USB enumeration

References UHD_SPEED_FULL, UHD_SPEED_HIGH, UHD_SPEED_LOW, ui_device_speed_blink, ui_enum_status, ui_scroll, ui_x, and ui_y.

void ui_usb_mode_change ( bool  b_host_mode)

Notify that the USB mode are switched automatically. This is possible only when ID pin is available.

Parameters
b_host_modetrue, if the host mode has been selected

References ui_init().

void ui_usb_sof_event ( void  )

Notify that a SOF has been sent (each 1 ms)

References LED1, LED2, LED_Off(), LED_On(), LED_Toggle(), ui_device_speed_blink, ui_enum_status, ui_scroll, ui_x, and ui_y.

void ui_usb_vbus_change ( bool  b_vbus_present)

Notify that a Vbus are changed Available only in USB hardware with Vbus monitoring.

Parameters
b_vbus_presenttrue, if Vbus is high.

References LED0, LED_Off(), and LED_On().

void ui_usb_vbus_error ( void  )

Notify that a Vbus error has occurred Available only in USB hardware with Vbus monitoring.

void ui_usb_wakeup_event ( void  )

Notify that a USB device or the host has wake up the USB line.

uint16_t ui_device_speed_blink
static

Blink frequency depending on device speed.

Referenced by ui_usb_enum_event(), and ui_usb_sof_event().

uhc_enum_status_t ui_enum_status =UHC_ENUM_DISCONNECT
static

Status of device enumeration.

Referenced by ui_usb_connection_event(), ui_usb_enum_event(), and ui_usb_sof_event().

int8_t ui_scroll
static
int8_t ui_x
static

Manages device mouse moving.

Referenced by ui_uhi_hid_mouse_move(), ui_usb_enum_event(), and ui_usb_sof_event().

int8_t ui_y
static