X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/7f9f97c792dee6875fbca9806422bdd7d6c5a657..a9e0935a90346beb0c981924becc1f55d969a08b:/Projects/AVRISP-MKII/AVRISP.c diff --git a/Projects/AVRISP-MKII/AVRISP.c b/Projects/AVRISP-MKII/AVRISP.c index 5cb25a985..cea1161d5 100644 --- a/Projects/AVRISP-MKII/AVRISP.c +++ b/Projects/AVRISP-MKII/AVRISP.c @@ -42,10 +42,9 @@ int main(void) { SetupHardware(); - - V2Params_LoadNonVolatileParamValues(); LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); + sei(); for (;;) { @@ -70,18 +69,7 @@ void SetupHardware(void) /* Hardware Initialization */ LEDs_Init(); USB_Init(); - - #if defined(ADC) - /* Initialize the ADC converter for VTARGET level detection on supported AVR models */ - ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_128); - ADC_SetupChannel(VTARGET_ADC_CHANNEL); - ADC_StartReading(VTARGET_ADC_CHANNEL | ADC_RIGHT_ADJUSTED | ADC_REFERENCE_AVCC); - #endif - - /* Millisecond timer initialization for managing the command timeout counter */ - OCR0A = ((F_CPU / 64) / 1000); - TCCR0A = (1 << WGM01); - TCCR0B = ((1 << CS01) | (1 << CS00)); + V2Protocol_Init(); } /** Event handler for the library USB Connection event. */ @@ -103,12 +91,21 @@ void EVENT_USB_Device_ConfigurationChanged(void) LEDs_SetAllLEDs(LEDMASK_USB_READY); /* Setup AVRISP data Endpoints */ - if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_EPNUM, EP_TYPE_BULK, + if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT, AVRISP_DATA_EPSIZE, ENDPOINT_BANK_SINGLE))) { LEDs_SetAllLEDs(LEDMASK_USB_ERROR); } + + #if defined(LIBUSB_FILTERDRV_COMPAT) + if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_IN_EPNUM, EP_TYPE_BULK, + ENDPOINT_DIR_IN, AVRISP_DATA_EPSIZE, + ENDPOINT_BANK_SINGLE))) + { + LEDs_SetAllLEDs(LEDMASK_USB_ERROR); + } + #endif } /** Processes incoming V2 Protocol commands from the host, returning a response when required. */ @@ -118,7 +115,7 @@ void Process_AVRISP_Commands(void) if (USB_DeviceState != DEVICE_STATE_Configured) return; - Endpoint_SelectEndpoint(AVRISP_DATA_EPNUM); + Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM); /* Check to see if a V2 Protocol command has been received */ if (Endpoint_IsOUTReceived())