Changed XPLAINBridge project to be both a USB to USART bridge and a PDI programmer, based on the state of a mode select pin.

This commit is contained in:
Dean Camera 2010-01-19 05:27:58 +00:00
parent 2746154652
commit 60fd0ff418
14 changed files with 205 additions and 112 deletions

View file

@ -41,10 +41,12 @@
#include <avr/wdt.h>
#include <avr/power.h>
#include "Descriptors.h"
#include "AVRISPDescriptors.h"
#include "USARTDescriptors.h"
#include "Lib/RingBuff.h"
#include "Lib/SoftUART.h"
#include "Lib/SoftUART.h"
#include <Lib/V2Protocol.h>
#include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h>
@ -53,23 +55,36 @@
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
#define LEDMASK_USB_NOTREADY LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
#define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
#define LEDMASK_USB_ENUMERATING LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
#define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
#define LEDMASK_USB_READY LEDS_NO_LEDS
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
#define LEDMASK_USB_ERROR LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_BUSY LEDS_LED1
#define MODE_USART_BRIDGE false
#define MODE_PDI_PROGRAMMER true
/* External Variables: */
extern bool CurrentFirmwareMode;
/* Function Prototypes: */
void SetupHardware(void);
void AVRISP_Task(void);
void USARTBridge_Task(void);
void EVENT_USB_Device_ConfigurationChanged(void);
void EVENT_USB_Device_UnhandledControlRequest(void);
void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo);
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress);
#endif