X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/d3e00ce1eca6a7736f30b2e93992d0d5a6161de6..bea72a8412f99b294c00341fa16a8308bcc66f15:/Projects/AVRISP-MKII/AVRISP-MKII.c diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.c b/Projects/AVRISP-MKII/AVRISP-MKII.c index 7293906bb..8f27a9b22 100644 --- a/Projects/AVRISP-MKII/AVRISP-MKII.c +++ b/Projects/AVRISP-MKII/AVRISP-MKII.c @@ -49,6 +49,12 @@ int main(void) for (;;) { + #if (BOARD == BOARD_USBTINYMKII) + /* On the USBTINY-MKII target, there is a secondary LED which indicates the current selected power + mode - either VBUS, or sourced from the VTARGET pin of the programming connectors */ + LEDs_ChangeLEDs(LEDMASK_VBUSPOWER, (PIND & (1 << 0)) ? 0 : LEDMASK_VBUSPOWER); + #endif + AVRISP_Task(); USB_USBTask(); } @@ -66,7 +72,7 @@ void SetupHardware(void) /* Hardware Initialization */ LEDs_Init(); - USB_Init(); + USB_Init(); } /** Event handler for the library USB Connection event. */ @@ -84,25 +90,19 @@ void EVENT_USB_Device_Disconnect(void) /** Event handler for the library USB Configuration Changed event. */ void EVENT_USB_Device_ConfigurationChanged(void) { - /* Indicate USB connected and ready */ - LEDs_SetAllLEDs(LEDMASK_USB_READY); + bool ConfigSuccess = true; - /* Setup AVRISP data Endpoints */ - if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPNUM, EP_TYPE_BULK, - ENDPOINT_DIR_OUT, AVRISP_DATA_EPSIZE, - ENDPOINT_BANK_SINGLE))) - { - LEDs_SetAllLEDs(LEDMASK_USB_ERROR); - } + /* Setup AVRISP Data Endpoint(s) */ + ConfigSuccess &= Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT, + AVRISP_DATA_EPSIZE, ENDPOINT_BANK_SINGLE); #if defined(LIBUSB_DRIVER_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); - } + ConfigSuccess &= Endpoint_ConfigureEndpoint(AVRISP_DATA_IN_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_IN, + AVRISP_DATA_EPSIZE, ENDPOINT_BANK_SINGLE); #endif + + /* Indicate endpoint configuration success or failure */ + LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR); } /** Processes incoming V2 Protocol commands from the host, returning a response when required. */