Microchip® Advanced Software Framework

common/services/usb/class/composite/device/example2/main.c File Reference

Main functions for USB composite example.

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

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

Functions

int main (void)
 Main function. Execution starts here. More...
 
void main_cdc_disable (uint8_t port)
 Closes the communication port This is called by CDC interface when USB Host disable it. More...
 
bool main_cdc_enable (uint8_t port)
 Called by CDC interface Callback running when USB Host enable CDC interface. More...
 
void main_cdc_set_dtr (uint8_t port, bool b_enable)
 Save new DTR state to change led behavior. The DTR notify that the terminal have open or close the communication port. More...
 
bool main_extra_string (void)
 Example of extra USB string management This feature is available for single or composite device which want implement additional USB string than Manufacture, Product and serial number ID. More...
 
void main_keyboard_disable (void)
 Called by HID interface Callback running when USB Host disable keyboard interface. More...
 
bool main_keyboard_enable (void)
 Called by HID interface Callback running when USB Host enable keyboard interface. More...
 
void main_mouse_disable (void)
 Called by HID interface Callback running when USB Host disable mouse interface. More...
 
bool main_mouse_enable (void)
 Called by HID interface Callback running when USB Host enable mouse interface. More...
 
void main_msc_disable (void)
 Called by MSC interface Callback running when USB Host disable MSC interface. More...
 
bool main_msc_enable (void)
 Called by MSC interface Callback running when USB Host enable MSC interface. More...
 
void main_remotewakeup_disable (void)
 Called by UDC when USB Host request to disable remote wakeup. More...
 
void main_remotewakeup_enable (void)
 Called by UDC when USB Host request to enable remote wakeup. More...
 
void main_resume_action (void)
 Turn on a led to notify active mode Called when the USB line is resumed from the suspend state. More...
 
void main_sof_action (void)
 Manages the leds behaviors Called when a start of frame is received on USB line each 1ms. More...
 
void main_suspend_action (void)
 Enters the application in low power mode Callback called when USB host sets USB line in suspend state. More...
 

Variables

static volatile bool main_b_cdc_enable = false
 
static volatile bool main_b_keyboard_enable = false
 
static volatile bool main_b_mouse_enable = false
 
static volatile bool main_b_msc_enable = false
 

void main_cdc_disable ( uint8_t  port)

Closes the communication port This is called by CDC interface when USB Host disable it.

bool main_cdc_enable ( uint8_t  port)

Called by CDC interface Callback running when USB Host enable CDC interface.

Opens the communication port This is called by CDC interface when USB Host enable it.

Return values
trueif cdc startup is successfully done
void main_cdc_set_dtr ( uint8_t  port,
bool  b_enable 
)

Save new DTR state to change led behavior. The DTR notify that the terminal have open or close the communication port.

bool main_extra_string ( void  )

Example of extra USB string management This feature is available for single or composite device which want implement additional USB string than Manufacture, Product and serial number ID.

Called by UDC when USB Host request a extra string different of this specified in USB device descriptor.

return true, if the string ID requested is know and managed by this functions

void main_keyboard_disable ( void  )

Called by HID interface Callback running when USB Host disable keyboard interface.

bool main_keyboard_enable ( void  )

Called by HID interface Callback running when USB Host enable keyboard interface.

Return values
trueif keyboard startup is ok
void main_mouse_disable ( void  )

Called by HID interface Callback running when USB Host disable mouse interface.

bool main_mouse_enable ( void  )

Called by HID interface Callback running when USB Host enable mouse interface.

Return values
trueif mouse startup is ok
void main_msc_disable ( void  )

Called by MSC interface Callback running when USB Host disable MSC interface.

bool main_msc_enable ( void  )

Called by MSC interface Callback running when USB Host enable MSC interface.

Return values
trueif MSC startup is ok
void main_remotewakeup_disable ( void  )

Called by UDC when USB Host request to disable remote wakeup.

void main_remotewakeup_enable ( void  )

Called by UDC when USB Host request to enable remote wakeup.

void main_resume_action ( void  )

Turn on a led to notify active mode Called when the USB line is resumed from the suspend state.

Called by UDD when the USB line exit of suspend state.

References ui_wakeup().

void main_sof_action ( void  )

Manages the leds behaviors Called when a start of frame is received on USB line each 1ms.

Called when a start of frame is received on USB line.

References main_b_cdc_enable, main_b_keyboard_enable, main_b_mouse_enable, main_b_msc_enable, udd_get_frame_number(), and ui_process().

void main_suspend_action ( void  )

Enters the application in low power mode Callback called when USB host sets USB line in suspend state.

Called by UDD when a suspend is received Callback running when USB Host set USB line in suspend state.

References ui_powerdown().

volatile bool main_b_cdc_enable = false
static
volatile bool main_b_keyboard_enable = false
static
volatile bool main_b_mouse_enable = false
static
volatile bool main_b_msc_enable = false
static