26 #define EP_MAXPKTSIZE 32
29 #define XBOX_CONTROL_PIPE 0
30 #define XBOX_INPUT_PIPE 1
31 #define XBOX_OUTPUT_PIPE 2
34 #define XBOX_VID 0x045E
35 #define MADCATZ_VID 0x1BAD
36 #define JOYTECH_VID 0x162E
37 #define LOGITECH_VID 0x046D
39 #define XBOX_OLD_PID1 0x0202
40 #define XBOX_OLD_PID2 0x0285
41 #define XBOX_OLD_PID3 0x0287
42 #define XBOX_OLD_PID4 0x0289
43 #define XBOX_OLD_PID5 0xCA84
45 #define XBOX_MAX_ENDPOINTS 3
64 uint8_t
Init(uint8_t parent, uint8_t port,
bool lowspeed);
106 virtual bool VIDPIDOK(uint16_t vid, uint16_t pid) {
150 pFuncOnInit = funcOnInit;
199 void (*pFuncOnInit)(void);
201 uint8_t pollInterval;
206 uint8_t OldButtonState;
207 uint8_t ButtonClickState;
210 uint8_t buttonValues[8];
211 uint8_t oldButtonValues[8];
212 bool buttonClicked[8];
219 void printReport(uint16_t length);
222 void XboxCommand(uint8_t* data, uint16_t nbytes);
#define XBOX_MAX_ENDPOINTS
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
uint8_t readPollInterval()
bool getButtonClick(ButtonEnum b)
virtual bool VIDPIDOK(uint16_t vid, uint16_t pid)
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
void attachOnInit(void(*funcOnInit)(void))
uint8_t getButtonPress(ButtonEnum b)
void setRumbleOn(uint8_t lValue, uint8_t rValue)
virtual uint8_t GetAddress()
int16_t getAnalogHat(AnalogHatEnum a)