/*\r
LUFA Library\r
- Copyright (C) Dean Camera, 2009.\r
+ Copyright (C) Dean Camera, 2010.\r
\r
dean [at] fourwalledcubicle [dot] com\r
www.fourwalledcubicle.com\r
*/\r
\r
/*\r
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
\r
Permission to use, copy, modify, distribute, and sell this \r
software and its documentation for any purpose is hereby granted\r
int main(void)\r
{\r
SetupHardware();\r
-\r
- V2Params_LoadNonVolatileParamValues();\r
\r
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+ sei();\r
\r
for (;;)\r
{\r
/* Hardware Initialization */\r
LEDs_Init();\r
USB_Init();\r
-\r
- #if defined(ADC)\r
- /* Initialize the ADC converter for VTARGET level detection on supported AVR models */\r
- ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_128);\r
- ADC_SetupChannel(VTARGET_ADC_CHANNEL);\r
- ADC_StartReading(VTARGET_ADC_CHANNEL | ADC_RIGHT_ADJUSTED | ADC_REFERENCE_AVCC);\r
- #endif\r
- \r
- /* Millisecond timer initialization for managing the command timeout counter */\r
- OCR0A = ((F_CPU / 64) / 1000);\r
- TCCR0A = (1 << WGM01);\r
- TCCR0B = ((1 << CS01) | (1 << CS00));\r
+ V2Protocol_Init();\r
}\r
\r
/** Event handler for the library USB Connection event. */\r
LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
\r
/* Setup AVRISP data Endpoints */\r
- if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_EPNUM, EP_TYPE_BULK,\r
+ if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPNUM, EP_TYPE_BULK,\r
ENDPOINT_DIR_OUT, AVRISP_DATA_EPSIZE,\r
ENDPOINT_BANK_SINGLE)))\r
{\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
}\r
+\r
+ #if defined(LIBUSB_FILTERDRV_COMPAT)\r
+ if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_IN_EPNUM, EP_TYPE_BULK,\r
+ ENDPOINT_DIR_IN, AVRISP_DATA_EPSIZE,\r
+ ENDPOINT_BANK_SINGLE)))\r
+ {\r
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
+ }\r
+ #endif\r
}\r
\r
/** Processes incoming V2 Protocol commands from the host, returning a response when required. */\r
if (USB_DeviceState != DEVICE_STATE_Configured)\r
return;\r
\r
- Endpoint_SelectEndpoint(AVRISP_DATA_EPNUM);\r
+ Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);\r
\r
/* Check to see if a V2 Protocol command has been received */\r
if (Endpoint_IsOUTReceived())\r