Microchip® Advanced Software Framework

main.c File Reference

I2C Master Bootloader Bridge Application.

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

#include <string.h>
#include <asf.h>
#include "conf_usb.h"
#include "ui.h"
#include "conf_app.h"

Macros

#define PATTERN_TEST_LENGTH   (5 * UDI_CDC_DATA_EPS_FS_SIZE)
 

Functions

void cdc_rx_notify (uint8_t port)
 
static void configure_i2c_master (void)
 Configure I2C master. More...
 
static void configure_usart (void)
 Configure UART console. More...
 
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...
 
void main_remotewakeup_lpm_disable (void)
 Called by UDC when USB Host request to disable LPM remote wakeup. More...
 
void main_remotewakeup_lpm_enable (void)
 Called by UDC when USB Host request to enable LPM 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...
 
void main_suspend_lpm_action (void)
 Enters the application in low power mode Callback called when USB host sets LPM suspend state. More...
 

Variables

static volatile bool b_cdc_data_rx = false
 
static volatile bool b_com_port_opened = false
 
static volatile bool b_wait = false
 
uint8_t cdc_data [PATTERN_TEST_LENGTH]
 
struct i2c_master_module i2c_master_instance
 
static volatile bool main_b_cdc_enable = false
 
struct usart_module usart_instance
 

#define PATTERN_TEST_LENGTH   (5 * UDI_CDC_DATA_EPS_FS_SIZE)

Referenced by main().

void cdc_rx_notify ( uint8_t  port)

References b_cdc_data_rx.

void main_cdc_disable ( uint8_t  port)

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

References b_com_port_opened, i2c_master_disable(), i2c_master_instance, and main_b_cdc_enable.

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

References configure_i2c_master(), and main_b_cdc_enable.

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.

References b_com_port_opened, ui_com_close(), and ui_com_open().

void main_remotewakeup_lpm_disable ( void  )

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

References ui_wakeup_disable().

void main_remotewakeup_lpm_enable ( void  )

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

References ui_wakeup_enable().

void main_resume_action ( void  )

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  )

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

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

void main_suspend_lpm_action ( void  )

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

References ui_powerdown().

volatile bool b_cdc_data_rx = false
static

Referenced by cdc_rx_notify(), and main().

volatile bool b_com_port_opened = false
static
volatile bool b_wait = false
static

Referenced by main().

uint8_t cdc_data[PATTERN_TEST_LENGTH]

Referenced by main().

struct i2c_master_module i2c_master_instance
volatile bool main_b_cdc_enable = false
static
struct usart_module usart_instance

Referenced by configure_usart().