77 } __attribute__((packed));
79 } __attribute__((packed));
87 } __attribute__((packed))
finger[2];
88 } __attribute__((packed));
101 } __attribute__((packed));
103 } __attribute__((packed));
127 #if 0 // The status byte depends on if it's sent via USB or Bluetooth, so is not parsed for now
130 uint8_t rightTriggerFeedback;
131 uint8_t leftTriggerFeedback;
132 uint8_t reserved4[10];
137 } __attribute__((packed));
146 } __attribute__((packed));
194 uint16_t
getX(uint8_t finger = 0) {
203 uint16_t
getY(uint8_t finger = 0) {
232 return (atan2f(-ps5Data.
accY, -ps5Data.
accZ) + PI) * RAD_TO_DEG;
234 return (atan2f(ps5Data.
accX, -ps5Data.
accZ) + PI) * RAD_TO_DEG;
245 return ps5Data.
gyroX;
247 return ps5Data.
gyroY;
249 return ps5Data.
gyroZ;
261 #if 0 // Seems to only be available via Bluetooth, so have been disabled for now
266 uint8_t getBatteryLevel() {
267 return ps5Data.status.battery;
271 #if 0 // These are only valid via USB, so have been commented out for now
276 bool getUsbStatus() {
277 return ps5Data.status.usb;
284 bool getAudioStatus() {
285 return ps5Data.status.headphone;
292 bool getMicStatus() {
293 return ps5Data.status.mic;
339 void setLed(uint8_t r, uint8_t g, uint8_t b) {
351 setLed((uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
384 return message_counter;
393 void Parse(uint8_t len, uint8_t *buf);
406 static int8_t getButtonIndexPS5(
ButtonEnum b);
413 uint16_t message_counter = 0;