Our great sponsors
-
mbed-ble-hid
:raising_hand: Implement Human Interface Device over Bluetooth Low Energy on a Mbed stack (Arduino nano 33 BLE).
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
https://github.com/tcoppex/mbed-ble-hid/blob/master/src/services/HIDGamepadService.cpp , the hid_report_map descriptor needs to be modified. The original input report needs to have a report ID, and then a new section needs to be added as a output or feature report, with its own report ID. This is a bit of a mess to research because there's no real standardization. PlayStation controllers have their own format, Xbox has a different one.
A quick google search turned up this very useful page https://github.com/ViGEm/ViGEmBus/issues/40
Once you can access that member outputReportChar, it is of the class GattCharacteristic, probably this one https://github.com/ARMmbed/ble/blob/master/ble/GattCharacteristic.h , now you can use member functions, such as getValueAttribute and getValueHandle to read the data. At this point... I have not done this before, I don't know if I am actually correct or if I missed a few steps. You will need to learn how the ARMmbed BLE library works and read their examples.