Microchip® Advanced Software Framework

sam0/applications/i2c_master_bootloader_bridge/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)
 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...
 
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.

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

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  )

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, 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