X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/f1199200e167a737a4676378da184387e543830c..7aecda6fda5bcced68d72b0cf73d00174aa5c7cd:/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h index f2cc2fd00..6eed93d94 100644 --- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h +++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h @@ -28,6 +28,11 @@ this software. */ +/** \file + * + * Header file for MouseHost.c. + */ + #ifndef _MOUSE_HOST_H_ #define _MOUSE_HOST_H_ @@ -38,43 +43,53 @@ #include #include - #include // Library Version Information - #include // ANSI Terminal Escape Codes - #include // USB Functionality - #include // Serial stream driver - #include // LEDs driver - #include // Simple scheduler for task management + #include + #include + #include + #include + #include + #include - #include "ConfigDescriptor.h" - #include "HIDReport.h" - /* Macros: */ - /** Pipe number for the mouse report data pipe */ - #define MOUSE_DATAPIPE 1 - - /* Enums: */ - /** Enum for the possible status codes for passing to the UpdateStatus() function. */ - enum MouseHostWithParser_StatusCodes_t - { - Status_USBNotReady = 0, /**< USB is not ready (disconnected from a USB device) */ - Status_USBEnumerating = 1, /**< USB interface is enumerating */ - Status_USBReady = 2, /**< USB interface is connected and ready */ - Status_EnumerationError = 3, /**< Software error while enumerating the attached USB device */ - Status_HardwareError = 4, /**< Hardware error while enumerating the attached USB device */ - Status_Busy = 5, /**< Busy dumping HID report items to the serial port */ - }; - - /* Task Definitions: */ - TASK(USB_Mouse_Host); + /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ + #define LEDMASK_USB_NOTREADY LEDS_LED1 - /* Function Prototypes: */ - void EVENT_USB_HostError(const uint8_t ErrorCode); - void EVENT_USB_DeviceAttached(void); - void EVENT_USB_DeviceUnattached(void); - void EVENT_USB_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode); - void EVENT_USB_DeviceEnumerationComplete(void); + /** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */ + #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3) + + /** LED mask for the library LED driver, to indicate that the USB interface is ready. */ + #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4) + + /** 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) + + /** HID Report Descriptor Usage Page value for a toggle button */ + #define USAGE_PAGE_BUTTON 0x09 + + /** HID Report Descriptor Usage Page value for a Generic Desktop Control */ + #define USAGE_PAGE_GENERIC_DCTRL 0x01 - void UpdateStatus(uint8_t CurrentStatus); - void ProcessMouseReport(uint8_t* MouseReport); + /** HID Report Descriptor Usage for a Mouse */ + #define USAGE_MOUSE 0x02 + /** HID Report Descriptor Usage value for a X axis movement */ + #define USAGE_X 0x30 + + /** HID Report Descriptor Usage value for a Y axis movement */ + #define USAGE_Y 0x31 + + /** HID Report Descriptor Usage value for a Scroll Wheel movement */ + #define USAGE_SCROLL_WHEEL 0x38 + + /* Function Prototypes: */ + void SetupHardware(void); + + void EVENT_USB_Host_HostError(const uint8_t ErrorCode); + void EVENT_USB_Host_DeviceAttached(void); + void EVENT_USB_Host_DeviceUnattached(void); + void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode); + void EVENT_USB_Host_DeviceEnumerationComplete(void); + + bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem); + #endif