213 return !(ps5Data.
xy.
finger[finger].touching);
222 return ps5Data.
xy.
finger[finger].counter;
245 return ps5Data.
gyroX;
247 return ps5Data.
gyroY;
249 return ps5Data.
gyroZ;
266 uint8_t getBatteryLevel() {
267 return ps5Data.status.battery;
276 bool getUsbStatus() {
277 return ps5Data.status.usb;
284 bool getAudioStatus() {
285 return ps5Data.status.headphone;
292 bool getMicStatus() {
293 return ps5Data.status.mic;
314 setRumbleOn(0x00, 0xFF);
316 setRumbleOn(0xFF, 0x00);
325 ps5Output.bigRumble = bigRumble;
326 ps5Output.smallRumble = smallRumble;
327 ps5Output.reportChanged =
true;
343 ps5Output.reportChanged =
true;
364 ps5Output.playerLeds =
mask;
365 ps5Output.reportChanged =
true;
378 ps5Output.microphoneLed =
on ? 1 : 0;
379 ps5Output.reportChanged =
true;
384 return message_counter;
const uint8_t PS5_BUTTONS[]
Based on Ludwig Füchsl's DualSense Windows driver https://github.com/Ohjurot/DualSense-Windows.
void setLed(uint8_t r, uint8_t g, uint8_t b)
uint16_t getY(uint8_t finger=0)
bool getButtonPress(ButtonEnum b)
bool getButtonClick(ButtonEnum b)
int16_t getSensor(SensorEnum s)
uint8_t getAnalogHat(AnalogHatEnum a)
void setPlayerLed(uint8_t mask)
uint16_t getMessageCounter()
void setLed(ColorsEnum color)
void setRumbleOn(RumbleEnum mode)
float getAngle(AngleEnum a)
bool isTouching(uint8_t finger=0)
virtual void sendOutputReport(PS5Output *output)=0
uint8_t getTouchCounter(uint8_t finger=0)
uint8_t getAnalogButton(ButtonEnum b)
void setRumbleOn(uint8_t bigRumble, uint8_t smallRumble)
uint16_t getX(uint8_t finger=0)
struct ps5TouchpadXY::@31 finger[2]