Microchip® Advanced Software Framework

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

Main functions for USB composite example.

Copyright (c) 2011-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)
 Opens the communication port This is called by CDC interface when USB Host enable it. 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_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_resume_action (void)
 Called by UDD when the USB line exit of suspend state. More...
 
void main_sof_action (void)
 Called when a start of frame is received on USB line. 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_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)

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

References cpu_to_le16, header, Max, udd_ctrl_request_t::payload, udd_ctrl_request_t::payload_size, udd_ctrl_request_t::req, UDC_DESC_STORAGE, udd_g_ctrlreq, UDI_CDC_IAD_STRING_ID, UDI_MSC_STRING_ID, USB_DT_STRING, usb_setup_req_t::wLength, and usb_setup_req_t::wValue.

void main_msc_disable ( void  )

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

References main_b_msc_enable.

bool main_msc_enable ( void  )

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

Return values
trueif MSC startup is ok

References main_b_msc_enable.

void main_resume_action ( void  )

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

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

References ui_wakeup().

void main_sof_action ( void  )

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

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

References main_b_cdc_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.

References ui_powerdown().

volatile bool main_b_cdc_enable = false
static
volatile bool main_b_msc_enable = false
static