USB Host Shield 2.0
|
#include <PS4USB.h>
Public Member Functions | |
PS4USB (USB *p) | |
bool | connected () |
void | attachOnInit (void(*funcOnInit)(void)) |
Public Member Functions inherited from HIDUniversal | |
HIDUniversal (USB *p) | |
uint8_t | Poll () override |
void | EndpointXtract (uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep) override |
Public Member Functions inherited from HIDComposite | |
HIDComposite (USB *p) | |
bool | SetReportParser (uint8_t id, HIDReportParser *prs) |
uint8_t | Init (uint8_t parent, uint8_t port, bool lowspeed) |
uint8_t | Release () |
virtual uint8_t | GetAddress () |
virtual bool | isReady () |
uint8_t | SndRpt (uint16_t nbytes, uint8_t *dataptr) |
Public Member Functions inherited from USBHID | |
USBHID (USB *pusb) | |
const USB * | GetUsb () |
uint8_t | SetProtocol (uint8_t iface, uint8_t protocol) |
uint8_t | GetProtocol (uint8_t iface, uint8_t *dataptr) |
uint8_t | GetIdle (uint8_t iface, uint8_t reportID, uint8_t *dataptr) |
uint8_t | SetIdle (uint8_t iface, uint8_t reportID, uint8_t duration) |
uint8_t | GetReportDescr (uint16_t wIndex, USBReadParser *parser=NULL) |
uint8_t | GetHidDescr (uint8_t ep, uint16_t nbytes, uint8_t *dataptr) |
uint8_t | GetReport (uint8_t ep, uint8_t iface, uint8_t report_type, uint8_t report_id, uint16_t nbytes, uint8_t *dataptr) |
uint8_t | SetReport (uint8_t ep, uint8_t iface, uint8_t report_type, uint8_t report_id, uint16_t nbytes, uint8_t *dataptr) |
Public Member Functions inherited from USBDeviceConfig | |
virtual uint8_t | ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed) |
virtual void | ResetHubPort (uint8_t port) |
virtual bool | DEVCLASSOK (uint8_t klass) |
virtual bool | DEVSUBCLASSOK (uint8_t subklass) |
Public Member Functions inherited from PS4Parser | |
PS4Parser () | |
bool | getButtonPress (ButtonEnum b) |
bool | getButtonClick (ButtonEnum b) |
uint8_t | getAnalogButton (ButtonEnum b) |
uint8_t | getAnalogHat (AnalogHatEnum a) |
uint16_t | getX (uint8_t finger=0, uint8_t xyId=0) |
uint16_t | getY (uint8_t finger=0, uint8_t xyId=0) |
bool | isTouching (uint8_t finger=0, uint8_t xyId=0) |
uint8_t | getTouchCounter (uint8_t finger=0, uint8_t xyId=0) |
float | getAngle (AngleEnum a) |
int16_t | getSensor (SensorEnum s) |
uint8_t | getBatteryLevel () |
bool | getUsbStatus () |
bool | getAudioStatus () |
bool | getMicStatus () |
void | setAllOff () |
void | setRumbleOff () |
void | setRumbleOn (RumbleEnum mode) |
void | setRumbleOn (uint8_t bigRumble, uint8_t smallRumble) |
void | setLedOff () |
void | setLed (uint8_t r, uint8_t g, uint8_t b) |
void | setLed (ColorsEnum color) |
void | setLedFlash (uint8_t flashOn, uint8_t flashOff) |
Protected Member Functions | |
HIDUniversal implementation | |
virtual void | ParseHIDData (USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) |
virtual uint8_t | OnInitSuccessful () |
PS4Parser implementation | |
virtual void | sendOutputReport (PS4Output *output) |
USBDeviceConfig implementation | |
virtual bool | VIDPIDOK (uint16_t vid, uint16_t pid) |
Protected Member Functions inherited from HIDComposite | |
uint16_t | GetHidClassDescrLen (uint8_t type, uint8_t num) |
void | Initialize () |
HIDInterface * | FindInterface (uint8_t iface, uint8_t alt, uint8_t proto) |
void | ZeroMemory (uint8_t len, uint8_t *buf) |
HIDReportParser * | GetReportParser (uint8_t id) |
Protected Member Functions inherited from USBHID | |
void | PrintEndpointDescriptor (const USB_ENDPOINT_DESCRIPTOR *ep_ptr) |
void | PrintHidDescriptor (const USB_HID_DESCRIPTOR *pDesc) |
Protected Member Functions inherited from PS4Parser | |
void | Parse (uint8_t len, uint8_t *buf) |
void | Reset () |
Additional Inherited Members | |
Protected Attributes inherited from HIDComposite | |
struct HIDComposite::ReportParser | rptParsers [MAX_REPORT_PARSERS] |
HID_CLASS_DESCRIPTOR_LEN_AND_TYPE | descrInfo [HID_MAX_HID_CLASS_DESCRIPTORS] |
uint8_t | bConfNum |
uint8_t | bNumIface |
uint8_t | bNumEP |
uint32_t | qNextPollTime |
uint8_t | pollInterval |
bool | bPollEnable |
EpInfo | epInfo [totalEndpoints] |
HIDInterface | hidInterfaces [maxHidInterfaces] |
bool | bHasReportId |
uint16_t | PID |
uint16_t | VID |
Protected Attributes inherited from USBHID | |
USB * | pUsb |
uint8_t | bAddress |
Static Protected Attributes inherited from HIDComposite | |
static const uint16_t | constBuffLen = 64 |
Static Protected Attributes inherited from USBHID | |
static const uint8_t | epInterruptInIndex = 1 |
static const uint8_t | epInterruptOutIndex = 2 |
static const uint8_t | maxHidInterfaces = 5 |
static const uint8_t | maxEpPerInterface = 2 |
static const uint8_t | totalEndpoints = (maxHidInterfaces * maxEpPerInterface + 1) |
This class implements support for the PS4 controller via USB. It uses the HIDUniversal class for all the USB communication.
|
inline |
|
inline |
|
inline |
|
inlineprotectedvirtual |
Used to parse USB HID data.
hid | Pointer to the HID class. |
is_rpt_id | Only used for Hubs. |
len | The length of the incoming data. |
buf | Pointer to the data buffer. |
Reimplemented from HIDUniversal.
|
inlineprotectedvirtual |
Called when a device is successfully initialized. Use attachOnInit(void (*funcOnInit)(void)) to call your own function. This is useful for instance if you want to set the LEDs in a specific way.
Reimplemented from HIDComposite.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Used by the USB core to check what this driver support.
vid | The device's VID. |
pid | The device's PID. |
Reimplemented from USBDeviceConfig.