A library for arduino to parse notification from a xbox series X or S controller.
This library is parser. If you want to handle controller of xbox series X or S with ESP32, use XboxSeriesXControllerESP32_asukiaaa instead.
Open library manager (Sketch -> Include library -> Manager libraries) then search XboxControllerNotificationParser
and install it.
Add XboxControllerNotificationParser
as lib_deps in platformio.ini like this.
lib_deps = XboxControllerNotificationParser
Include.
#include <XboxControllerNotificationParser.h>
With using NimBLE-Arduino.
XboxControllerNotificationParser xboxNotif;
void notifyCB(NimBLERemoteCharacteristic* pRemoteCharacteristic, uint8_t* pData,
size_t length, bool isNotify) {
xboxNotif.update(pData, length);
}
Print info.
Serial.print(xboxNotif.toString());
You can call these variables like this.
if (xboxNotif.btnA) {
Serial.println("A is pressed");
}
Variable | type | role |
---|---|---|
btnA | bool | State of A button. |
btnB | bool | State of B button. |
btnX | bool | State of X button. |
btnY | bool | State of Y button. |
btnLB | bool | State of left back button. |
btnRB | bool | State of right back button. |
btnSelect | bool | State of select button. |
btnStart | bool | State of start button. |
btnXbox | bool | State of xbox button. |
btnShare | bool | State of share button. |
btnLS | bool | State of left stick button. |
btnRS | bool | State of right stick button. |
btnDirUp | bool | State of direction up button. |
btnDirRight | bool | State of direction right button. |
btnDirLeft | bool | State of direction left button. |
btnDirDown | bool | State of direction down button. |
joyLHori | uint16_t | Value of horizontal directoin of left joystick. min: 0 (left). max: 0xffff (right). |
joyLVert | uint16_t | Value of vertical directoin of left joystick. min: 0 (up). max: 0xffff (down). |
joyRHori | uint16_t | Value of horizontal directoin of right joystick. min: 0 (left). max: 0xffff (right). |
joyRVert | uint16_t | Value of vertical directoin of right joystick. min: 0 (up). max: 0xffff (down). |
trigLT | uint16_t | Value of left triger. min: 0. max: 0x3ff. |
trigRT | uint16_t | Value of right triger. min: 0. max: 0x3ff. |
MIT