83 Commits

Author SHA1 Message Date
C.Lee Taylor
d4777c4161 fix debug check 2025-09-21 14:40:23 +02:00
C.Lee Taylor
10b8c6273b fix ifdef for debug flag, match previous dump function 2025-09-21 14:09:27 +02:00
C.Lee Taylor
6c61f00faa Add debug print for HID Report 2025-09-21 13:29:18 +02:00
C.Lee Taylor
9f8254026b update dumpHidReportDescriptor with easy copy and paste version 2025-09-18 16:00:18 +02:00
C.Lee Taylor
12898d794e Add debug HID Report Descriptor as a build env 'BLE_GAMEPAD_DEBUG' 2025-09-17 09:36:50 +02:00
lemmingDev
33a3dee3b6 Constructor variable order - fix warning 2025-02-25 11:25:42 +09:00
lemmingDev
e67a026db8 Constructor variable order - fix warning 2025-02-25 10:36:14 +09:00
lemmingDev
ad6e6806d5 Add optional Nordic UART Service
Examples still to come
2025-02-25 10:09:19 +09:00
lemmingDev
f3c97cc21c Fix variable scope and remove unneeded ones 2025-02-17 12:39:18 +09:00
lemmingDev
7a35a86af0 Fix compiler binary number formatting warnings 2025-02-15 13:10:28 +09:00
lemmingDev
62e8597edc Support setting Battery Power State 0x2A1A values
Use nRF Connect on Android to test
2025-02-15 12:55:44 +09:00
lemmingDev
38098665ee Change axes order
Updated defaults of setWhichAxes and setAxes to x, y, z, rx, ry, rz

Added new function setHIDAxes(x, y, z, rz, rx, ry)

Added new function setRightThumbAndroid(z, rx) to compliment the existing setRightThumb(z, rz)
2025-02-07 13:18:36 +09:00
lemmingDev
2ed0c15727 Fix compile warnings and axes order 2025-02-01 23:54:34 +09:00
lemmingDev
0065833f00 Add gyroscope, accelerometer and fix left thumbstick in config 2025-02-01 21:51:44 +09:00
lemmingDev
c80127e149 Correctly initialise blankAddress variable to prevent compiler warning 2025-02-01 08:35:15 +09:00
lemmingDev
c48ca5df8f TX power level can now be set
TX power level can now be set either initially using the configuration system eg. bleGamepadConfig.setTXPowerLevel(txPowerLevel);  
Defaults to 9 if not set
Range: -12 to 9 dBm and the only valid values are: -12, -9, -6, -3, 0, 3, 6 and 9

TX power can also be set at any time using bleGamepad.setTXPower(int8_t)

You can also get the current TX power level by using bleGamepad.getTXPower(int8_t)
2025-01-31 16:26:25 +09:00
lemmingDev
f6a21ce4f4 Access peer conn info, device config info and device name etc 2025-01-31 13:51:54 +09:00
lemmingDev
22603ae878 Can now get peer connection info and device configuration info
See GetPeerInfo.ino example for details
2025-01-31 13:00:46 +09:00
lemmingDev
2660a9fe62 Update BleGamepad.cpp - formatting 2025-01-29 21:34:10 +09:00
lemmingDev
f9b3a88728 Allow function to return value in all cases 2025-01-29 21:01:50 +09:00
lemmingDev
57d0ae639a Allow forced pairing and removing of bonds
A much requested feature to work around hosts aggressively connecting to gamepad unwantedly.

Example provided
2025-01-29 20:39:03 +09:00
lemmingDev
0769b0e925 Revert axes code to previous working state 2025-01-25 13:45:54 +09:00
lemmingDev
245bde69d0 Update BleGamepad.cpp
Formatting
2025-01-24 19:04:38 +09:00
lemmingDev
cc045514bc Fix axes min and max datatypes and rollover checks 2025-01-24 18:54:31 +09:00
DrSimgear
692884f139 Update BleGamepad.cpp
Removed because its a deprecated legacy adc driver which gives a warning in arduino ide when compiling and not being used by BLE Gamepad library.
2025-01-23 21:16:23 -05:00
PiniponSelvagem
22b5cc1796 Fixed advertising name not being set, leading to some devices not showing the Gamepad in their Bluetooth Managers. 2024-12-30 16:24:33 +00:00
Sab1e
ef3be28b41 Adapt code for NimBLE Arduino 2.1.0 compatibility 2024-12-15 23:11:13 +08:00
Sab1e
ea90630763 Restore mistakenly deleted code
- Restore the code for the Output Report accidentally deleted by someone.
2024-12-07 20:56:55 +08:00
lemmingDev
cb66e3a4fa Merge branch 'master' into patch-1 2024-11-24 07:45:12 +10:00
Byron Mallett
de2eb92356 Made sure default VID, PID, and GUID values are being set 2024-11-24 10:37:25 +13:00
Sab1e
cdf05b3fcc Add Output Report Function
Added Output Report function and provided examples.
2024-11-20 21:53:22 +08:00
Mystfit
2b27f219bf Fixing broken PID/VID
Upstream NimBLE version 1.4.2 allows us to set the PID, VID and GUID normally without needing to flip high/low bytes. Using PNPVersionField to detect the version since it was added in the same commit.
2024-10-03 16:09:12 +13:00
lemmingDev
dbdd1a03e2 Try to fix connection issues with ESP32 variants 2024-02-24 13:23:24 +10:00
lemmingDev
96b066d80b Update BleGamepad.cpp
Set task priority from 5 to 1 in order to get ESP32-C3 working
2024-02-24 05:51:15 +10:00
Dimitrios Kouzis-Loukas
2a5901c782 Include stdexcept
Fix the  error: 'invalid_argument' is not a member of 'std'
2023-11-21 16:18:47 -05:00
Benjamin
4ac2cd8376 make guid version editable 2023-03-05 02:08:31 +01:00
lemmingDev
ad3d994076 Enable setting of battery level 2022-11-02 06:42:31 +10:00
lemmingDev
d5af61f28b Enable setting of battery level
Latest version of NimBLE supports setting of battery level, so re-enable that feature in this library
2022-11-02 06:15:24 +10:00
lemmingDev
884ddba409 Add more configurable BLE characteristics 2022-09-27 09:54:51 +10:00
lemmingDev
47ee476665 setBatteryLevel disabled
setBatteryLevel disabled to make compatible with NimBLE 1.4.0

Will add back after NimBLE makes it's next official release with it back in
2022-09-06 21:08:24 +10:00
lemmingDev
adb6fc62f7 v 5.0 adds configurable min/max axes values 2022-08-21 08:49:28 +10:00
lemmingDev
372fd7378f Fix compilation error due to removal of NimBLESecurity class
The fix is to replace the NimBLESecurity class instantiation and authentication method setting in BLEGamepad.cpp:1318-1320 with an equivalent call to
NimBLEDevice::setSecurityAuth(BLE_SM_PAIR_AUTHREQ_BOND);

Thanks @mhaebler
2022-08-20 05:59:14 +10:00
Giovanni Cascione
f3368ae08d notify battery level change only if connected 2022-07-26 09:44:30 +02:00
Giovanni Cascione
5fa76aeef6 fix battery level not updating 2022-07-24 16:45:17 +02:00
lemmingDev
6dc9bd32a9 Add ability to specify custom VID and PID via BleGamepadConfiguration 2022-05-05 19:36:58 +10:00
dexterdy
14f7ea1af0 fixed special buttons hid report descriptor 2022-05-04 15:07:38 +02:00
dexterdy
20158ac221 fixed the rebooting issue 2022-05-02 23:53:47 +02:00
Hagedoorn, J.P. (pieter)
4c5db6a8bf fixed the warinings 2022-05-01 16:42:12 +02:00
Hagedoorn, J.P. (pieter)
ea545d01e6 spelling mistake 2022-04-30 14:02:22 +02:00
dexterdy
9542280a9a more readable copy-by-value 2022-04-28 14:55:38 +02:00