Fix flip-ee DFU build target accidentally erasing the target FLASH memory space.
[pub/USBasp.git] / Projects / HIDReportViewer / HIDReportViewer.c
index f3126c0..62c638a 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
@@ -33,7 +33,7 @@
  *  Main source file for the HIDReportViewer project. This file contains the main tasks of
  *  the project and is responsible for the initial application hardware configuration.
  */
  *  Main source file for the HIDReportViewer project. This file contains the main tasks of
  *  the project and is responsible for the initial application hardware configuration.
  */
+
 #include "HIDReportViewer.h"
 
 /** Processed HID report descriptor items structure, containing information on each HID report element */
 #include "HIDReportViewer.h"
 
 /** Processed HID report descriptor items structure, containing information on each HID report element */
@@ -47,14 +47,17 @@ USB_ClassInfo_HID_Host_t Device_HID_Interface =
        {
                .Config =
                        {
        {
                .Config =
                        {
-                               .DataINPipeNumber       = 1,
-                               .DataINPipeDoubleBank   = false,
-
-                               .DataOUTPipeNumber      = 2,
-                               .DataOUTPipeDoubleBank  = false,
-
+                               .DataINPipe             =
+                                       {
+                                               .Address        = (PIPE_DIR_IN  | 1),
+                                               .Banks          = 1,
+                                       },
+                               .DataOUTPipe            =
+                                       {
+                                               .Address        = (PIPE_DIR_OUT | 2),
+                                               .Banks          = 1,
+                                       },
                                .HIDInterfaceProtocol   = HID_CSCP_NonBootProtocol,
                                .HIDInterfaceProtocol   = HID_CSCP_NonBootProtocol,
-
                                .HIDParserData          = &HIDReportInfo
                        },
        };
                                .HIDParserData          = &HIDReportInfo
                        },
        };
@@ -70,12 +73,12 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "HID Device Report Viewer Running.\r\n" ESC_FG_WHITE));
 
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
        puts_P(PSTR(ESC_FG_CYAN "HID Device Report Viewer Running.\r\n" ESC_FG_WHITE));
 
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
-       sei();
+       GlobalInterruptEnable();
 
        for (;;)
        {
                RetrieveDeviceData();
 
        for (;;)
        {
                RetrieveDeviceData();
-               
+
                HID_Host_USBTask(&Device_HID_Interface);
                USB_USBTask();
        }
                HID_Host_USBTask(&Device_HID_Interface);
                USB_USBTask();
        }
@@ -88,12 +91,12 @@ void RetrieveDeviceData(void)
 {
        if (USB_CurrentMode != USB_MODE_Host)
          return;
 {
        if (USB_CurrentMode != USB_MODE_Host)
          return;
-       
+
        LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
        LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
-       
+
        OutputReportSizes();
        OutputParsedReportItems();
        OutputReportSizes();
        OutputParsedReportItems();
-       
+
        LEDs_SetAllLEDs(LEDMASK_USB_READY);
        USB_Host_SetDeviceConfiguration(0);
 }
        LEDs_SetAllLEDs(LEDMASK_USB_READY);
        USB_Host_SetDeviceConfiguration(0);
 }
@@ -168,7 +171,7 @@ void OutputParsedReportItems(void)
                                 RItem->Attributes.Logical.Maximum,
                                 RItem->Attributes.Physical.Minimum,
                                 RItem->Attributes.Physical.Maximum);
                                 RItem->Attributes.Logical.Maximum,
                                 RItem->Attributes.Physical.Minimum,
                                 RItem->Attributes.Physical.Maximum);
-               
+
                OutputCollectionPath(RItem->CollectionPath);
        }
 }
                OutputCollectionPath(RItem->CollectionPath);
        }
 }
@@ -188,10 +191,10 @@ void OutputCollectionPath(const HID_CollectionPath_t* const CollectionPath)
                                          "      - Type:  0x%02" PRIX8 "\r\n"
                                          "      - Usage: 0x%02" PRIX8 "\r\n"),
                                          CurrentNode->Type, CurrentNode->Usage);
                                          "      - Type:  0x%02" PRIX8 "\r\n"
                                          "      - Usage: 0x%02" PRIX8 "\r\n"),
                                          CurrentNode->Type, CurrentNode->Usage);
-               
+
                CurrentNode = CurrentNode->Parent;
        }
                CurrentNode = CurrentNode->Parent;
        }
-       
+
        printf_P(PSTR("      |\r\n"
                                  "      END\r\n"));
 }
        printf_P(PSTR("      |\r\n"
                                  "      END\r\n"));
 }