RC_Simulator.....By Jafar Qutteineh with mods to connect my Futaba 9C to \'RC Helicopter\' by http://www.alphamacsoftware.com/

Dependencies:   mbed

Committer:
cbayley
Date:
Thu Dec 15 03:24:33 2011 +0000
Revision:
0:65b9d8f621d2
Initial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cbayley 0:65b9d8f621d2 1 /* usbhid.h */
cbayley 0:65b9d8f621d2 2 /* USB HID class device */
cbayley 0:65b9d8f621d2 3 /* Copyright (c) Phil Wright 2008 */
cbayley 0:65b9d8f621d2 4
cbayley 0:65b9d8f621d2 5 /* modified by Shinichiro Oba <http://mbed.org/users/bricklife/> */
cbayley 0:65b9d8f621d2 6
cbayley 0:65b9d8f621d2 7 #ifndef USBHID_H
cbayley 0:65b9d8f621d2 8 #define USBHID_H
cbayley 0:65b9d8f621d2 9
cbayley 0:65b9d8f621d2 10 #include "usbdevice.h"
cbayley 0:65b9d8f621d2 11
cbayley 0:65b9d8f621d2 12 /* Mouse buttons */
cbayley 0:65b9d8f621d2 13 #define MOUSE_L (1<<0)
cbayley 0:65b9d8f621d2 14 #define MOUSE_M (1<<1)
cbayley 0:65b9d8f621d2 15 #define MOUSE_R (1<<2)
cbayley 0:65b9d8f621d2 16
cbayley 0:65b9d8f621d2 17 class usbhid : public usbdevice
cbayley 0:65b9d8f621d2 18 {
cbayley 0:65b9d8f621d2 19 public:
cbayley 0:65b9d8f621d2 20 usbhid();
cbayley 0:65b9d8f621d2 21 bool keyboard(char c);
cbayley 0:65b9d8f621d2 22 bool keyboard(char *string);
cbayley 0:65b9d8f621d2 23 bool mouse(signed char x, signed char y, unsigned char buttons=0, signed char wheel=0);
cbayley 0:65b9d8f621d2 24 protected:
cbayley 0:65b9d8f621d2 25 virtual bool requestSetConfiguration();
cbayley 0:65b9d8f621d2 26 virtual void endpointEventEP1In(void);
cbayley 0:65b9d8f621d2 27 virtual void deviceEventReset(void);
cbayley 0:65b9d8f621d2 28 virtual bool requestGetDescriptor(void);
cbayley 0:65b9d8f621d2 29 virtual bool requestSetup(void);
cbayley 0:65b9d8f621d2 30 private:
cbayley 0:65b9d8f621d2 31 bool sendInputReport(unsigned char id, unsigned char *data, unsigned char size);
cbayley 0:65b9d8f621d2 32 };
cbayley 0:65b9d8f621d2 33
cbayley 0:65b9d8f621d2 34
cbayley 0:65b9d8f621d2 35 //
cbayley 0:65b9d8f621d2 36 // USBJoystick
cbayley 0:65b9d8f621d2 37 //
cbayley 0:65b9d8f621d2 38
cbayley 0:65b9d8f621d2 39 #define JOYSTICK_UP (1<<0)
cbayley 0:65b9d8f621d2 40 #define JOYSTICK_DOWN (1<<1)
cbayley 0:65b9d8f621d2 41 #define JOYSTICK_LEFT (1<<2)
cbayley 0:65b9d8f621d2 42 #define JOYSTICK_RIGHT (1<<3)
cbayley 0:65b9d8f621d2 43
cbayley 0:65b9d8f621d2 44 class USBJoystick : public usbhid
cbayley 0:65b9d8f621d2 45 {
cbayley 0:65b9d8f621d2 46 public:
cbayley 0:65b9d8f621d2 47 USBJoystick();
cbayley 0:65b9d8f621d2 48 bool joystick(unsigned char throttle=0, unsigned char rudder=0, unsigned char x=0, unsigned char y=0, bool button1=0, bool button2 =0);
cbayley 0:65b9d8f621d2 49 protected:
cbayley 0:65b9d8f621d2 50 virtual bool requestGetDescriptor(void);
cbayley 0:65b9d8f621d2 51 private:
cbayley 0:65b9d8f621d2 52 bool sendInputReport(unsigned char *data, unsigned char size);
cbayley 0:65b9d8f621d2 53 };
cbayley 0:65b9d8f621d2 54
cbayley 0:65b9d8f621d2 55 #endif