X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/2ee9fc707784e115d744dbc229bdc893f4bb6bc1..6a7c298c0f7119e44e18de15d714cd8b938e3bef:/Demos/Device/KeyboardMouse/KeyboardMouse.h?ds=inline diff --git a/Demos/Device/KeyboardMouse/KeyboardMouse.h b/Demos/Device/KeyboardMouse/KeyboardMouse.h index e3f943402..74b1c9e5f 100644 --- a/Demos/Device/KeyboardMouse/KeyboardMouse.h +++ b/Demos/Device/KeyboardMouse/KeyboardMouse.h @@ -41,38 +41,25 @@ #include "Descriptors.h" - #include // Library Version Information - #include // USB Functionality - #include // Joystick driver - #include // LEDs driver - #include // Board Buttons driver - #include // Simple scheduler for task management - - /* Task Definitions: */ - TASK(USB_Keyboard); - TASK(USB_Mouse); + #include + #include + #include + #include + #include + #include - /* Enums: */ - /** Enum for the possible status codes for passing to the UpdateStatus() function. */ - enum KeyboardMouse_StatusCodes_t - { - Status_USBNotReady = 0, /**< USB is not ready (disconnected from a USB host) */ - Status_USBEnumerating = 1, /**< USB interface is enumerating */ - Status_USBReady = 2, /**< USB interface is connected and ready */ - }; - /* Macros: */ - /** HID Class specific request to get the next HID report from the device. */ - #define REQ_GetReport 0x01 + /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ + #define LEDMASK_USB_NOTREADY LEDS_LED1 - /** HID Class specific request to send the next HID report to the device. */ - #define REQ_SetReport 0x09 + /** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */ + #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3) - /** HID Class specific request to get the current HID protocol in use, either report or boot. */ - #define REQ_GetProtocol 0x03 + /** LED mask for the library LED driver, to indicate that the USB interface is ready. */ + #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4) - /** HID Class specific request to set the current HID protocol in use, either report or boot. */ - #define REQ_SetProtocol 0x0B + /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */ + #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /* Type Defines: */ /** Type define for the keyboard HID report structure, for creating and sending HID reports to the host PC. @@ -96,11 +83,15 @@ } USB_MouseReport_Data_t; /* Function Prototypes: */ + void SetupHardware(void); + void EVENT_USB_Connect(void); void EVENT_USB_Disconnect(void); void EVENT_USB_ConfigurationChanged(void); void EVENT_USB_UnhandledControlPacket(void); - void UpdateStatus(uint8_t CurrentStatus); + uint16_t CALLBACK_USB_HID_CreateNextHIDReport(USB_ClassInfo_HID_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData); + void CALLBACK_USB_HID_ProcessReceivedHIDReport(USB_ClassInfo_HID_t* HIDInterfaceInfo, uint8_t ReportID, + void* ReportData, uint16_t ReportSize); #endif