Fix up static analysis build test so that inline suppressions for missing header...
[pub/USBasp.git] / Projects / AVRISP-MKII / AVRISP-MKII.c
index d774b11..eaf04cb 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -45,14 +45,14 @@ int main(void)
        V2Protocol_Init();
 
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
        V2Protocol_Init();
 
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
-       GlobalInterruptEnable();
-       
+       sei();
+
        for (;;)
        {
                #if (BOARD == BOARD_USBTINYMKII)
        for (;;)
        {
                #if (BOARD == BOARD_USBTINYMKII)
-                       /* On the USBTINY-MKII board 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(LEDS_LED3, (PIND & (1 << 0)) ? 0 : LEDS_LED3);
+               /* 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();
                #endif
 
                AVRISP_Task();
@@ -63,35 +63,13 @@ int main(void)
 /** Configures the board hardware and chip peripherals for the demo's functionality. */
 void SetupHardware(void)
 {
 /** Configures the board hardware and chip peripherals for the demo's functionality. */
 void SetupHardware(void)
 {
-       #if (ARCH == ARCH_AVR8)
-               /* Disable watchdog if enabled by bootloader/fuses */
-               MCUSR &= ~(1 << WDRF);
-               wdt_disable();
-
-               /* Disable clock division */
-               clock_prescale_set(clock_div_1);
-       #elif (ARCH == ARCH_UC3)
-               /* Select slow startup, external high frequency crystal attached to OSC0 */
-               AVR32_PM.OSCCTRL0.mode    = 7;
-               AVR32_PM.OSCCTRL0.startup = 6;
-               AVR32_PM.MCCTRL.osc0en    = true;
-               while (!(AVR32_PM.POSCSR.osc0rdy));
-
-               /* Switch CPU core to use OSC0 as the system clock */
-               AVR32_PM.MCCTRL.mcsel     = 1;
-
-               /* Start PLL1 to feed into the USB generic clock module */
-               AVR32_PM.PLL[1].pllmul    = (F_USB / F_CPU) ? (((F_USB / F_CPU) - 1) / 2) : 0;
-               AVR32_PM.PLL[1].plldiv    = 0;
-               AVR32_PM.PLL[1].pllosc    = 0;  
-               AVR32_PM.PLL[1].pllen     = true;
-               while (!(AVR32_PM.POSCSR.lock1));
-       
-               /* Configure interrupt management peripheral */
-//             INTC_Init();
-               INTC_RegisterGroupHandler(AVR32_USBB_IRQ, AVR32_INTC_INT0, USB_GEN_vect);       
-       #endif
-       
+       /* Disable watchdog if enabled by bootloader/fuses */
+       MCUSR &= ~(1 << WDRF);
+       wdt_disable();
+
+       /* Disable clock division */
+       clock_prescale_set(clock_div_1);
+
        /* Hardware Initialization */
        LEDs_Init();
        USB_Init();
        /* Hardware Initialization */
        LEDs_Init();
        USB_Init();
@@ -115,12 +93,10 @@ void EVENT_USB_Device_ConfigurationChanged(void)
        bool ConfigSuccess = true;
 
        /* Setup AVRISP Data Endpoint(s) */
        bool ConfigSuccess = true;
 
        /* Setup AVRISP Data Endpoint(s) */
-       ConfigSuccess &= Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT,
-                                                   AVRISP_DATA_EPSIZE, ENDPOINT_BANK_SINGLE);
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPADDR, EP_TYPE_BULK, AVRISP_DATA_EPSIZE, 1);
 
        #if defined(LIBUSB_DRIVER_COMPAT)
 
        #if defined(LIBUSB_DRIVER_COMPAT)
-       ConfigSuccess &= Endpoint_ConfigureEndpoint(AVRISP_DATA_IN_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_IN,
-                                                   AVRISP_DATA_EPSIZE, ENDPOINT_BANK_SINGLE);
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(AVRISP_DATA_IN_EPADDR, EP_TYPE_BULK, AVRISP_DATA_EPSIZE, 1);
        #endif
 
        /* Indicate endpoint configuration success or failure */
        #endif
 
        /* Indicate endpoint configuration success or failure */
@@ -136,7 +112,7 @@ void AVRISP_Task(void)
 
        V2Params_UpdateParamValues();
 
 
        V2Params_UpdateParamValues();
 
-       Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);
+       Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPADDR);
 
        /* Check to see if a V2 Protocol command has been received */
        if (Endpoint_IsOUTReceived())
 
        /* Check to see if a V2 Protocol command has been received */
        if (Endpoint_IsOUTReceived())