Committer:
chris
Date:
Fri Oct 21 23:02:16 2011 +0000
Revision:
1:4d08e0ebf5dd
Parent:
0:e98d1c2b16c6

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:e98d1c2b16c6 1 /* USBMouse.h */
chris 0:e98d1c2b16c6 2 /* USB device example: relative mouse */
chris 0:e98d1c2b16c6 3 /* Copyright (c) 2011 ARM Limited. All rights reserved. */
chris 0:e98d1c2b16c6 4
chris 0:e98d1c2b16c6 5 #ifndef _USB_RAW_HID_
chris 0:e98d1c2b16c6 6 #define _USB_RAW_HID_
chris 0:e98d1c2b16c6 7
chris 0:e98d1c2b16c6 8 #include "USBHID.h"
chris 0:e98d1c2b16c6 9
chris 0:e98d1c2b16c6 10 /** USB device: a relative mouse
chris 0:e98d1c2b16c6 11 *
chris 0:e98d1c2b16c6 12 * Warning: you can only instantiate one instance of a USB device: USBMouse, USBKeyboard, USBAbsMouse, USBMouseKeyboard, or USBAbsMouseKeyboard.
chris 0:e98d1c2b16c6 13 *
chris 0:e98d1c2b16c6 14 * Example:
chris 0:e98d1c2b16c6 15 * @code
chris 0:e98d1c2b16c6 16 * #include "mbed.h"
chris 0:e98d1c2b16c6 17 * #include "USBMouse.h"
chris 0:e98d1c2b16c6 18 *
chris 0:e98d1c2b16c6 19 * USBMouse mouse;
chris 0:e98d1c2b16c6 20 *
chris 0:e98d1c2b16c6 21 * #define STEP (2)
chris 0:e98d1c2b16c6 22 * #define SIZE (100)
chris 0:e98d1c2b16c6 23 *
chris 0:e98d1c2b16c6 24 * int main(void)
chris 0:e98d1c2b16c6 25 * {
chris 0:e98d1c2b16c6 26 * int32_t a;
chris 0:e98d1c2b16c6 27 *
chris 0:e98d1c2b16c6 28 * while (1)
chris 0:e98d1c2b16c6 29 * {
chris 0:e98d1c2b16c6 30 * for (a=0; a<SIZE; a++)
chris 0:e98d1c2b16c6 31 * {
chris 0:e98d1c2b16c6 32 * mouse.move(STEP,0);
chris 0:e98d1c2b16c6 33 * }
chris 0:e98d1c2b16c6 34 *
chris 0:e98d1c2b16c6 35 * for (a=0; a<SIZE; a++)
chris 0:e98d1c2b16c6 36 * {
chris 0:e98d1c2b16c6 37 * mouse.move(0,STEP);
chris 0:e98d1c2b16c6 38 * }
chris 0:e98d1c2b16c6 39 *
chris 0:e98d1c2b16c6 40 * for (a=0; a<SIZE; a++)
chris 0:e98d1c2b16c6 41 * {
chris 0:e98d1c2b16c6 42 * mouse.move(-STEP,0);
chris 0:e98d1c2b16c6 43 * }
chris 0:e98d1c2b16c6 44 *
chris 0:e98d1c2b16c6 45 * for (a=0; a<SIZE; a++)
chris 0:e98d1c2b16c6 46 * {
chris 0:e98d1c2b16c6 47 * mouse.move(0,-STEP);
chris 0:e98d1c2b16c6 48 * }
chris 0:e98d1c2b16c6 49 * }
chris 0:e98d1c2b16c6 50 * }
chris 0:e98d1c2b16c6 51 *
chris 0:e98d1c2b16c6 52 * @endcode
chris 0:e98d1c2b16c6 53 */
chris 0:e98d1c2b16c6 54 class USBRawHID: public USBHID
chris 0:e98d1c2b16c6 55 {
chris 0:e98d1c2b16c6 56 public:
chris 0:e98d1c2b16c6 57
chris 0:e98d1c2b16c6 58 /**
chris 0:e98d1c2b16c6 59 * Constructor for a USBMouse (relative mouse)
chris 0:e98d1c2b16c6 60 */
chris 0:e98d1c2b16c6 61 USBRawHID(){};
chris 0:e98d1c2b16c6 62
chris 0:e98d1c2b16c6 63
chris 0:e98d1c2b16c6 64 virtual uint8_t * ReportDesc();
chris 0:e98d1c2b16c6 65
chris 0:e98d1c2b16c6 66 };
chris 0:e98d1c2b16c6 67
chris 0:e98d1c2b16c6 68 #endif