Add bootloader to DeviceInformationService.cpp

This commit is contained in:
liamcharger 2024-10-21 12:58:51 -04:00 committed by GitHub
parent 05d4e875f4
commit 35570edafa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -9,6 +9,7 @@ constexpr ble_uuid16_t DeviceInformationService::fwRevisionUuid;
constexpr ble_uuid16_t DeviceInformationService::deviceInfoUuid; constexpr ble_uuid16_t DeviceInformationService::deviceInfoUuid;
constexpr ble_uuid16_t DeviceInformationService::hwRevisionUuid; constexpr ble_uuid16_t DeviceInformationService::hwRevisionUuid;
constexpr ble_uuid16_t DeviceInformationService::swRevisionUuid; constexpr ble_uuid16_t DeviceInformationService::swRevisionUuid;
constexpr ble_uuid16_t DeviceInformationService::bootloaderVersionUuid;
int DeviceInformationCallback(uint16_t /*conn_handle*/, uint16_t /*attr_handle*/, struct ble_gatt_access_ctxt* ctxt, void* arg) { int DeviceInformationCallback(uint16_t /*conn_handle*/, uint16_t /*attr_handle*/, struct ble_gatt_access_ctxt* ctxt, void* arg) {
auto deviceInformationService = static_cast<DeviceInformationService*>(arg); auto deviceInformationService = static_cast<DeviceInformationService*>(arg);
@ -46,6 +47,9 @@ int DeviceInformationService::OnDeviceInfoRequested(struct ble_gatt_access_ctxt*
case swRevisionId: case swRevisionId:
str = swRevision; str = swRevision;
break; break;
case bootloaderVersionId:
str = bootloaderVersion;
break;
default: default:
return BLE_ATT_ERR_UNLIKELY; return BLE_ATT_ERR_UNLIKELY;
} }
@ -91,6 +95,12 @@ DeviceInformationService::DeviceInformationService()
.arg = this, .arg = this,
.flags = BLE_GATT_CHR_F_READ, .flags = BLE_GATT_CHR_F_READ,
}, },
{
.uuid = &bootloaderVersionUuid.u,
.access_cb = DeviceInformationCallback,
.arg = this,
.flags = BLE_GATT_CHR_F_READ,
},
{0}}, {0}},
serviceDefinition { serviceDefinition {
{/* Device Information Service */ {/* Device Information Service */