summaryrefslogtreecommitdiff
path: root/src/Components/Ble/DeviceInformationService.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Components/Ble/DeviceInformationService.cpp')
-rw-r--r--src/Components/Ble/DeviceInformationService.cpp11
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
}
},