25 #define EP_MAXPKTSIZE 64 // max size for data via USB
28 #define EP_INTERRUPT 0x03
31 #define PS3_CONTROL_PIPE 0
32 #define PS3_OUTPUT_PIPE 1
33 #define PS3_INPUT_PIPE 2
36 #define PS3_VID 0x054C // Sony Corporation
37 #define PS3_PID 0x0268 // PS3 Controller DualShock 3
38 #define PS3NAVIGATION_PID 0x042F // Navigation controller
39 #define PS3MOVE_PID 0x03D5 // Motion controller
42 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
43 #define HID_REQUEST_SET_REPORT 0x09
45 #define PS3_MAX_ENDPOINTS 3
64 PS3USB(
USB *
pUsb, uint8_t btadr5 = 0, uint8_t btadr4 = 0, uint8_t btadr3 = 0, uint8_t btadr2 = 0, uint8_t btadr1 = 0, uint8_t btadr0 = 0);
74 virtual uint8_t
Init(uint8_t parent, uint8_t port,
bool lowspeed);
84 virtual uint8_t
Poll();
108 virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
193 void setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower);
237 pFuncOnInit = funcOnInit;
263 void (*pFuncOnInit)(void);
269 uint32_t ButtonState;
270 uint32_t OldButtonState;
271 uint32_t ButtonClickState;
273 uint8_t my_bdaddr[6];
281 void PS3_Command(uint8_t* data, uint16_t nbytes);
282 void enable_sixaxis();
283 void Move_Command(uint8_t* data, uint16_t nbytes);
uint16_t getSensor(Sensor a)
void setLedRaw(uint8_t value)
bool PS3NavigationConnected
virtual uint8_t Release()
uint8_t getAnalogButton(Button a)
bool getButtonClick(Button b)
virtual uint8_t GetAddress()
void setRumbleOn(Rumble mode)
void attachOnInit(void(*funcOnInit)(void))
void setBdaddr(uint8_t *BDADDR)
void moveSetBulb(uint8_t r, uint8_t g, uint8_t b)
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
void setMoveBdaddr(uint8_t *BDADDR)
void moveSetRumble(uint8_t rumble)
#define PS3_MAX_ENDPOINTS
EpInfo epInfo[PS3_MAX_ENDPOINTS]
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
#define PS3NAVIGATION_PID
uint8_t getAnalogHat(AnalogHat a)
bool getButtonPress(Button b)
PS3USB(USB *pUsb, uint8_t btadr5=0, uint8_t btadr4=0, uint8_t btadr3=0, uint8_t btadr2=0, uint8_t btadr1=0, uint8_t btadr0=0)