diff options
Diffstat (limited to 'src/Components/Ble/DeviceInformationService.cpp')
-rw-r--r-- | src/Components/Ble/DeviceInformationService.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Components/Ble/DeviceInformationService.cpp b/src/Components/Ble/DeviceInformationService.cpp index c1d55541..406db1cf 100644 --- a/src/Components/Ble/DeviceInformationService.cpp +++ b/src/Components/Ble/DeviceInformationService.cpp @@ -8,6 +8,8 @@ constexpr ble_uuid16_t DeviceInformationService::serialNumberUuid; constexpr ble_uuid16_t DeviceInformationService::fwRevisionUuid; constexpr ble_uuid16_t DeviceInformationService::deviceInfoUuid; constexpr ble_uuid16_t DeviceInformationService::hwRevisionUuid; +constexpr ble_uuid16_t DeviceInformationService::swRevisionUuid; + int DeviceInformationCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) { auto deviceInformationService = static_cast<DeviceInformationService*>(arg); @@ -44,6 +46,9 @@ int DeviceInformationService::OnDeviceInfoRequested(uint16_t conn_handle, uint16 case hwRevisionId: str = hwRevision; break; + case swRevisionId: + str = swRevision; + break; default: return BLE_ATT_ERR_UNLIKELY; } @@ -85,6 +90,12 @@ DeviceInformationService::DeviceInformationService() : .flags = BLE_GATT_CHR_F_READ, }, { + .uuid = (ble_uuid_t *) &swRevisionUuid, + .access_cb = DeviceInformationCallback, + .arg = this, + .flags = BLE_GATT_CHR_F_READ, + }, + { 0 } }, |