Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL...
[pub/USBasp.git] / Demos / Host / LowLevel / KeyboardHost / KeyboardHost.h
index d00b76a..d22223d 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
 \r
-  Permission to use, copy, modify, and distribute this software\r
-  and its documentation for any purpose and without fee is hereby\r
-  granted, provided that the above copyright notice appear in all\r
-  copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
+  Permission to use, copy, modify, distribute, and sell this \r
+  software and its documentation for any purpose is hereby granted\r
+  without fee, provided that the above copyright notice appear in \r
+  all copies and that both that the copyright notice and this\r
+  permission notice and warranty disclaimer appear in supporting \r
+  documentation, and that the name of the author not be used in \r
+  advertising or publicity pertaining to distribution of the \r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
                #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
-               #include <LUFA/Version.h>                                // Library Version Information\r
-               #include <LUFA/Drivers/Misc/TerminalCodes.h>             // ANSI Terminal Escape Codes\r
-               #include <LUFA/Drivers/USB/USB.h>                        // USB Functionality\r
-               #include <LUFA/Drivers/Peripheral/SerialStream.h>        // Serial stream driver\r
-               #include <LUFA/Drivers/Board/LEDs.h>                     // LEDs driver\r
-               #include <LUFA/Scheduler/Scheduler.h>                    // Simple scheduler for task management\r
+               #include <LUFA/Version.h>\r
+               #include <LUFA/Drivers/Misc/TerminalCodes.h>\r
+               #include <LUFA/Drivers/USB/USB.h>\r
+               #include <LUFA/Drivers/Peripheral/SerialStream.h>\r
+               #include <LUFA/Drivers/Board/LEDs.h>\r
                \r
                #include "ConfigDescriptor.h"\r
                \r
                \r
                #include "ConfigDescriptor.h"\r
                \r
                /** HID Class Specific request to set the report protocol mode */\r
                #define REQ_SetProtocol             0x0B\r
 \r
                /** HID Class Specific request to set the report protocol mode */\r
                #define REQ_SetProtocol             0x0B\r
 \r
+               /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */\r
+               #define LEDMASK_USB_NOTREADY      LEDS_LED1\r
+\r
+               /** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */\r
+               #define LEDMASK_USB_ENUMERATING  (LEDS_LED2 | LEDS_LED3)\r
+\r
+               /** LED mask for the library LED driver, to indicate that the USB interface is ready. */\r
+               #define LEDMASK_USB_READY        (LEDS_LED2 | LEDS_LED4)\r
+\r
+               /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */\r
+               #define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)\r
+\r
        /* Type Defines: */\r
                /** Type define for a standard Boot Protocol Keyboard report */\r
                typedef struct\r
                {\r
                        uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (such as Shift, Control, etc.) */\r
        /* Type Defines: */\r
                /** Type define for a standard Boot Protocol Keyboard report */\r
                typedef struct\r
                {\r
                        uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (such as Shift, Control, etc.) */\r
-                       uint8_t RESERVED; /**< Reserved for OEM use, always set to 0 */\r
-                       uint8_t KeyCode; /**< Key code of the currently pressed key */\r
+                       uint8_t Reserved; /**< Reserved for OEM use, always set to 0 */\r
+                       uint8_t KeyCode[6]; /**< Key codes of the currently pressed keys */\r
                } USB_KeyboardReport_Data_t;\r
                } USB_KeyboardReport_Data_t;\r
-\r
-       /* Enums: */\r
-               /** Enum for the possible status codes for passing to the UpdateStatus() function. */\r
-               enum KeyboardHost_StatusCodes_t\r
-               {\r
-                       Status_USBNotReady      = 0, /**< USB is not ready (disconnected from a USB device) */\r
-                       Status_USBEnumerating   = 1, /**< USB interface is enumerating */\r
-                       Status_USBReady         = 2, /**< USB interface is connected and ready */\r
-                       Status_EnumerationError = 3, /**< Software error while enumerating the attached USB device */\r
-                       Status_HardwareError    = 4, /**< Hardware error while enumerating the attached USB device */\r
-               };\r
-       \r
-       /* Task Definitions: */\r
-               TASK(USB_Keyboard_Host);\r
-\r
+               \r
        /* Function Prototypes: */\r
        /* Function Prototypes: */\r
-               void EVENT_USB_HostError(const uint8_t ErrorCode);\r
-               void EVENT_USB_DeviceAttached(void);\r
-               void EVENT_USB_DeviceUnattached(void);\r
-               void EVENT_USB_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode);\r
-               void EVENT_USB_DeviceEnumerationComplete(void);\r
+               void Keyboard_HID_Task(void);\r
+               void SetupHardware(void);\r
+       \r
+               void EVENT_USB_Host_HostError(const uint8_t ErrorCode);\r
+               void EVENT_USB_Host_DeviceAttached(void);\r
+               void EVENT_USB_Host_DeviceUnattached(void);\r
+               void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode);\r
+               void EVENT_USB_Host_DeviceEnumerationComplete(void);\r
 \r
 \r
-               void UpdateStatus(uint8_t CurrentStatus);\r
                void ReadNextReport(void);\r
                \r
 #endif\r
                void ReadNextReport(void);\r
                \r
 #endif\r