Use immediate variable expansion in the second-deepest level makefile scripts to...
[pub/USBasp.git] / Demos / Device / LowLevel / KeyboardMouse / KeyboardMouse.c
index 0588879..f932a32 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   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)
   Copyright 2010  Denver Gingerich (denver [at] ossguy [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
 #include "KeyboardMouse.h"
 
 /** Global structure to hold the current keyboard interface HID report, for transmission to the host */
-USB_KeyboardReport_Data_t KeyboardReportData;
+static USB_KeyboardReport_Data_t KeyboardReportData;
 
 /** Global structure to hold the current mouse interface HID report, for transmission to the host */
-USB_MouseReport_Data_t MouseReportData;
+static USB_MouseReport_Data_t MouseReportData;
 
 
 /** Main program entry point. This routine configures the hardware required by the application, then
@@ -104,14 +104,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
        bool ConfigSuccess = true;
 
        /* Setup Keyboard HID Report Endpoints */
-       ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
-                                                   HID_EPSIZE, ENDPOINT_BANK_SINGLE);
-       ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT,
-                                                   HID_EPSIZE, ENDPOINT_BANK_SINGLE);
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_IN_EPADDR, EP_TYPE_INTERRUPT, HID_EPSIZE, 1);
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_OUT_EPADDR, EP_TYPE_INTERRUPT, HID_EPSIZE, 1);
 
        /* Setup Mouse HID Report Endpoint */
-       ConfigSuccess &= Endpoint_ConfigureEndpoint(MOUSE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
-                                                   HID_EPSIZE, ENDPOINT_BANK_SINGLE);
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(MOUSE_IN_EPADDR, EP_TYPE_INTERRUPT, HID_EPSIZE, 1);
 
        /* Indicate endpoint configuration success or failure */
        LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
@@ -168,7 +165,7 @@ void EVENT_USB_Device_ControlRequest(void)
                                }
 
                                /* Read in the LED report from the host */
-                               uint8_t LEDStatus = Endpoint_Read_Byte();
+                               uint8_t LEDStatus = Endpoint_Read_8();
 
                                Endpoint_ClearOUT();
                                Endpoint_ClearStatusStage();
@@ -184,7 +181,7 @@ void EVENT_USB_Device_ControlRequest(void)
 /** Processes a given Keyboard LED report from the host, and sets the board LEDs to match. Since the Keyboard
  *  LED report can be sent through either the control endpoint (via a HID SetReport request) or the HID OUT
  *  endpoint, the processing code is placed here to avoid duplicating it and potentially having different
- *  behaviour depending on the method used to sent it.
+ *  behavior depending on the method used to sent it.
  */
 void Keyboard_ProcessLEDReport(const uint8_t LEDStatus)
 {
@@ -219,7 +216,7 @@ void Keyboard_HID_Task(void)
        if (!(Buttons_GetStatus() & BUTTONS_BUTTON1))
        {
                /* Make sent key uppercase by indicating that the left shift key is pressed */
-               KeyboardReportData.Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
+               KeyboardReportData.Modifier = HID_KEYBOARD_MODIFIER_LEFTSHIFT;
 
                if (JoyStatus_LCL & JOY_UP)
                  KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_A;
@@ -236,7 +233,7 @@ void Keyboard_HID_Task(void)
        }
 
        /* Select the Keyboard Report Endpoint */
-       Endpoint_SelectEndpoint(KEYBOARD_IN_EPNUM);
+       Endpoint_SelectEndpoint(KEYBOARD_IN_EPADDR);
 
        /* Check if Keyboard Endpoint Ready for Read/Write */
        if (Endpoint_IsReadWriteAllowed())
@@ -252,13 +249,13 @@ void Keyboard_HID_Task(void)
        }
 
        /* Select the Keyboard LED Report Endpoint */
-       Endpoint_SelectEndpoint(KEYBOARD_OUT_EPNUM);
+       Endpoint_SelectEndpoint(KEYBOARD_OUT_EPADDR);
 
        /* Check if Keyboard LED Endpoint Ready for Read/Write */
        if (Endpoint_IsReadWriteAllowed())
        {
                /* Read in and process the LED report from the host */
-               Keyboard_ProcessLEDReport(Endpoint_Read_Byte());
+               Keyboard_ProcessLEDReport(Endpoint_Read_8());
 
                /* Handshake the OUT Endpoint - clear endpoint and ready for next report */
                Endpoint_ClearOUT();
@@ -290,11 +287,11 @@ void Mouse_HID_Task(void)
                  MouseReportData.X = -1;
 
                if (JoyStatus_LCL & JOY_PRESS)
-                 MouseReportData.Button  = (1 << 0);
+                 MouseReportData.Button |= (1 << 0);
        }
 
        /* Select the Mouse Report Endpoint */
-       Endpoint_SelectEndpoint(MOUSE_IN_EPNUM);
+       Endpoint_SelectEndpoint(MOUSE_IN_EPADDR);
 
        /* Check if Mouse Endpoint Ready for Read/Write */
        if (Endpoint_IsReadWriteAllowed())