Add start of a SDP service table, which will be linked to the Bluetooth SDP code.
[pub/USBasp.git] / Demos / Host / ClassDriver / KeyboardHost / KeyboardHost.h
index d00b76a..0dc2d3b 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/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
-               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \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
-               \r
-               #include "ConfigDescriptor.h"\r
+               #include <LUFA/Version.h>\r
+               #include <LUFA/Drivers/Misc/TerminalCodes.h>\r
+               #include <LUFA/Drivers/Peripheral/SerialStream.h>\r
+               #include <LUFA/Drivers/Board/LEDs.h>\r
+               #include <LUFA/Drivers/USB/USB.h>\r
+               #include <LUFA/Drivers/USB/Class/HID.h>\r
                \r
        /* Macros: */\r
                \r
        /* Macros: */\r
-               /** Pipe number for the keyboard data IN pipe */\r
-               #define KEYBOARD_DATAPIPE           1\r
-\r
-               /** HID Class Specific request to set the report protocol mode */\r
-               #define REQ_SetProtocol             0x0B\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
 \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
-               } USB_KeyboardReport_Data_t;\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
 \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
+               /** 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
 \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
        /* 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
-\r
-               void UpdateStatus(uint8_t CurrentStatus);\r
-               void ReadNextReport(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
 #endif\r
                \r
 #endif\r