Skip to content

Commit f99f71c

Browse files
authored
Merge pull request #524 from jonvmey/ble-uuid-c-casts
Remove unnecessary C-style casts with BLE UUIDs
2 parents 4118f97 + 487ae47 commit f99f71c

10 files changed

Lines changed: 55 additions & 64 deletions

src/components/ble/AlertNotificationClient.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ bool AlertNotificationClient::OnDiscoveryEvent(uint16_t connectionHandle, const
5555
return true;
5656
}
5757

58-
if (service != nullptr && ble_uuid_cmp(((ble_uuid_t*) &ansServiceUuid), &service->uuid.u) == 0) {
58+
if (service != nullptr && ble_uuid_cmp(&ansServiceUuid.u, &service->uuid.u) == 0) {
5959
NRF_LOG_INFO("ANS discovered : 0x%x - 0x%x", service->start_handle, service->end_handle);
6060
ansStartHandle = service->start_handle;
6161
ansEndHandle = service->end_handle;
@@ -80,21 +80,21 @@ int AlertNotificationClient::OnCharacteristicsDiscoveryEvent(uint16_t connection
8080
} else
8181
onServiceDiscovered(connectionHandle);
8282
} else {
83-
if (characteristic != nullptr && ble_uuid_cmp(((ble_uuid_t*) &supportedNewAlertCategoryUuid), &characteristic->uuid.u) == 0) {
83+
if (characteristic != nullptr && ble_uuid_cmp(&supportedNewAlertCategoryUuid.u, &characteristic->uuid.u) == 0) {
8484
NRF_LOG_INFO("ANS Characteristic discovered : supportedNewAlertCategoryUuid");
8585
supportedNewAlertCategoryHandle = characteristic->val_handle;
86-
} else if (characteristic != nullptr && ble_uuid_cmp(((ble_uuid_t*) &supportedUnreadAlertCategoryUuid), &characteristic->uuid.u) == 0) {
86+
} else if (characteristic != nullptr && ble_uuid_cmp(&supportedUnreadAlertCategoryUuid.u, &characteristic->uuid.u) == 0) {
8787
NRF_LOG_INFO("ANS Characteristic discovered : supportedUnreadAlertCategoryUuid");
8888
supportedUnreadAlertCategoryHandle = characteristic->val_handle;
89-
} else if (characteristic != nullptr && ble_uuid_cmp(((ble_uuid_t*) &newAlertUuid), &characteristic->uuid.u) == 0) {
89+
} else if (characteristic != nullptr && ble_uuid_cmp(&newAlertUuid.u, &characteristic->uuid.u) == 0) {
9090
NRF_LOG_INFO("ANS Characteristic discovered : newAlertUuid");
9191
newAlertHandle = characteristic->val_handle;
9292
newAlertDefHandle = characteristic->def_handle;
9393
isCharacteristicDiscovered = true;
94-
} else if (characteristic != nullptr && ble_uuid_cmp(((ble_uuid_t*) &unreadAlertStatusUuid), &characteristic->uuid.u) == 0) {
94+
} else if (characteristic != nullptr && ble_uuid_cmp(&unreadAlertStatusUuid.u, &characteristic->uuid.u) == 0) {
9595
NRF_LOG_INFO("ANS Characteristic discovered : unreadAlertStatusUuid");
9696
unreadAlertStatusHandle = characteristic->val_handle;
97-
} else if (characteristic != nullptr && ble_uuid_cmp(((ble_uuid_t*) &controlPointUuid), &characteristic->uuid.u) == 0) {
97+
} else if (characteristic != nullptr && ble_uuid_cmp(&controlPointUuid.u, &characteristic->uuid.u) == 0) {
9898
NRF_LOG_INFO("ANS Characteristic discovered : controlPointUuid");
9999
controlPointHandle = characteristic->val_handle;
100100
} else
@@ -119,7 +119,7 @@ int AlertNotificationClient::OnDescriptorDiscoveryEventCallback(uint16_t connect
119119
uint16_t characteristicValueHandle,
120120
const ble_gatt_dsc* descriptor) {
121121
if (error->status == 0) {
122-
if (characteristicValueHandle == newAlertHandle && ble_uuid_cmp(((ble_uuid_t*) &newAlertUuid), &descriptor->uuid.u)) {
122+
if (characteristicValueHandle == newAlertHandle && ble_uuid_cmp(&newAlertUuid.u, &descriptor->uuid.u)) {
123123
if (newAlertDescriptorHandle == 0) {
124124
NRF_LOG_INFO("ANS Descriptor discovered : %d", descriptor->handle);
125125
newAlertDescriptorHandle = descriptor->handle;

src/components/ble/AlertNotificationService.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,8 @@ void AlertNotificationService::Init() {
2626
}
2727

2828
AlertNotificationService::AlertNotificationService(System::SystemTask& systemTask, NotificationManager& notificationManager)
29-
: characteristicDefinition {{.uuid = (ble_uuid_t*) &ansCharUuid,
30-
.access_cb = AlertNotificationCallback,
31-
.arg = this,
32-
.flags = BLE_GATT_CHR_F_WRITE},
33-
{.uuid = (ble_uuid_t*) &notificationEventUuid,
29+
: characteristicDefinition {{.uuid = &ansCharUuid.u, .access_cb = AlertNotificationCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE},
30+
{.uuid = &notificationEventUuid.u,
3431
.access_cb = AlertNotificationCallback,
3532
.arg = this,
3633
.flags = BLE_GATT_CHR_F_NOTIFY,
@@ -39,7 +36,7 @@ AlertNotificationService::AlertNotificationService(System::SystemTask& systemTas
3936
serviceDefinition {
4037
{/* Device Information Service */
4138
.type = BLE_GATT_SVC_TYPE_PRIMARY,
42-
.uuid = (ble_uuid_t*) &ansUuid,
39+
.uuid = &ansUuid.u,
4340
.characteristics = characteristicDefinition},
4441
{0},
4542
},
@@ -123,4 +120,4 @@ void AlertNotificationService::MuteIncomingCall() {
123120
}
124121

125122
ble_gattc_notify_custom(connectionHandle, eventHandle, om);
126-
}
123+
}

src/components/ble/BatteryInformationService.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ int BatteryInformationServiceCallback(uint16_t conn_handle, uint16_t attr_handle
1414

1515
BatteryInformationService::BatteryInformationService(Controllers::Battery& batteryController)
1616
: batteryController {batteryController},
17-
characteristicDefinition {{.uuid = (ble_uuid_t*) &batteryLevelUuid,
17+
characteristicDefinition {{.uuid = &batteryLevelUuid.u,
1818
.access_cb = BatteryInformationServiceCallback,
1919
.arg = this,
2020
.flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_NOTIFY,
@@ -23,7 +23,7 @@ BatteryInformationService::BatteryInformationService(Controllers::Battery& batte
2323
serviceDefinition {
2424
{/* Device Information Service */
2525
.type = BLE_GATT_SVC_TYPE_PRIMARY,
26-
.uuid = (ble_uuid_t*) &batteryInformationServiceUuid,
26+
.uuid = &batteryInformationServiceUuid.u,
2727
.characteristics = characteristicDefinition},
2828
{0},
2929
} {

src/components/ble/CurrentTimeClient.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ bool CurrentTimeClient::OnDiscoveryEvent(uint16_t connectionHandle, const ble_ga
4747
return true;
4848
}
4949

50-
if (service != nullptr && ble_uuid_cmp(((ble_uuid_t*) &ctsServiceUuid), &service->uuid.u) == 0) {
50+
if (service != nullptr && ble_uuid_cmp(&ctsServiceUuid.u, &service->uuid.u) == 0) {
5151
NRF_LOG_INFO("CTS discovered : 0x%x - 0x%x", service->start_handle, service->end_handle);
5252
isDiscovered = true;
5353
ctsStartHandle = service->start_handle;
@@ -72,7 +72,7 @@ int CurrentTimeClient::OnCharacteristicDiscoveryEvent(uint16_t conn_handle,
7272
return 0;
7373
}
7474

75-
if (characteristic != nullptr && ble_uuid_cmp(((ble_uuid_t*) &currentTimeCharacteristicUuid), &characteristic->uuid.u) == 0) {
75+
if (characteristic != nullptr && ble_uuid_cmp(&currentTimeCharacteristicUuid.u, &characteristic->uuid.u) == 0) {
7676
NRF_LOG_INFO("CTS Characteristic discovered : 0x%x", characteristic->val_handle);
7777
isCharacteristicDiscovered = true;
7878
currentTimeHandle = characteristic->val_handle;

src/components/ble/CurrentTimeService.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ int CurrentTimeService::OnTimeAccessed(uint16_t conn_handle, uint16_t attr_handl
5353
}
5454

5555
CurrentTimeService::CurrentTimeService(DateTime& dateTimeController)
56-
: characteristicDefinition {{.uuid = (ble_uuid_t*) &ctChrUuid,
56+
: characteristicDefinition {{.uuid = &ctChrUuid.u,
5757
.access_cb = CTSCallback,
5858

5959
.arg = this,
@@ -62,7 +62,7 @@ CurrentTimeService::CurrentTimeService(DateTime& dateTimeController)
6262
serviceDefinition {
6363
{/* Device Information Service */
6464
.type = BLE_GATT_SVC_TYPE_PRIMARY,
65-
.uuid = (ble_uuid_t*) &ctsUuid,
65+
.uuid = &ctsUuid.u,
6666
.characteristics = characteristicDefinition},
6767
{0},
6868
},

src/components/ble/DeviceInformationService.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,37 +56,37 @@ int DeviceInformationService::OnDeviceInfoRequested(uint16_t conn_handle, uint16
5656

5757
DeviceInformationService::DeviceInformationService()
5858
: characteristicDefinition {{
59-
.uuid = (ble_uuid_t*) &manufacturerNameUuid,
59+
.uuid = &manufacturerNameUuid.u,
6060
.access_cb = DeviceInformationCallback,
6161
.arg = this,
6262
.flags = BLE_GATT_CHR_F_READ,
6363
},
6464
{
65-
.uuid = (ble_uuid_t*) &modelNumberUuid,
65+
.uuid = &modelNumberUuid.u,
6666
.access_cb = DeviceInformationCallback,
6767
.arg = this,
6868
.flags = BLE_GATT_CHR_F_READ,
6969
},
7070
{
71-
.uuid = (ble_uuid_t*) &serialNumberUuid,
71+
.uuid = &serialNumberUuid.u,
7272
.access_cb = DeviceInformationCallback,
7373
.arg = this,
7474
.flags = BLE_GATT_CHR_F_READ,
7575
},
7676
{
77-
.uuid = (ble_uuid_t*) &fwRevisionUuid,
77+
.uuid = &fwRevisionUuid.u,
7878
.access_cb = DeviceInformationCallback,
7979
.arg = this,
8080
.flags = BLE_GATT_CHR_F_READ,
8181
},
8282
{
83-
.uuid = (ble_uuid_t*) &hwRevisionUuid,
83+
.uuid = &hwRevisionUuid.u,
8484
.access_cb = DeviceInformationCallback,
8585
.arg = this,
8686
.flags = BLE_GATT_CHR_F_READ,
8787
},
8888
{
89-
.uuid = (ble_uuid_t*) &swRevisionUuid,
89+
.uuid = &swRevisionUuid.u,
9090
.access_cb = DeviceInformationCallback,
9191
.arg = this,
9292
.flags = BLE_GATT_CHR_F_READ,
@@ -95,7 +95,7 @@ DeviceInformationService::DeviceInformationService()
9595
serviceDefinition {
9696
{/* Device Information Service */
9797
.type = BLE_GATT_SVC_TYPE_PRIMARY,
98-
.uuid = (ble_uuid_t*) &deviceInfoUuid,
98+
.uuid = &deviceInfoUuid.u,
9999
.characteristics = characteristicDefinition},
100100
{0},
101101
} {

src/components/ble/DfuService.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,21 @@ DfuService::DfuService(Pinetime::System::SystemTask& systemTask,
3333
bleController {bleController},
3434
dfuImage {spiNorFlash},
3535
characteristicDefinition {{
36-
.uuid = (ble_uuid_t*) &packetCharacteristicUuid,
36+
.uuid = &packetCharacteristicUuid.u,
3737
.access_cb = DfuServiceCallback,
3838
.arg = this,
3939
.flags = BLE_GATT_CHR_F_WRITE_NO_RSP,
4040
.val_handle = nullptr,
4141
},
4242
{
43-
.uuid = (ble_uuid_t*) &controlPointCharacteristicUuid,
43+
.uuid = &controlPointCharacteristicUuid.u,
4444
.access_cb = DfuServiceCallback,
4545
.arg = this,
4646
.flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_NOTIFY,
4747
.val_handle = nullptr,
4848
},
4949
{
50-
.uuid = (ble_uuid_t*) &revisionCharacteristicUuid,
50+
.uuid = &revisionCharacteristicUuid.u,
5151
.access_cb = DfuServiceCallback,
5252
.arg = this,
5353
.flags = BLE_GATT_CHR_F_READ,
@@ -60,7 +60,7 @@ DfuService::DfuService(Pinetime::System::SystemTask& systemTask,
6060
serviceDefinition {
6161
{/* Device Information Service */
6262
.type = BLE_GATT_SVC_TYPE_PRIMARY,
63-
.uuid = (ble_uuid_t*) &serviceUuid,
63+
.uuid = &serviceUuid.u,
6464
.characteristics = characteristicDefinition},
6565
{0},
6666
} {
@@ -81,9 +81,9 @@ int DfuService::OnServiceData(uint16_t connectionHandle, uint16_t attributeHandl
8181
xTimerStart(timeoutTimer, 0);
8282
}
8383

84-
ble_gatts_find_chr((ble_uuid_t*) &serviceUuid, (ble_uuid_t*) &packetCharacteristicUuid, nullptr, &packetCharacteristicHandle);
85-
ble_gatts_find_chr((ble_uuid_t*) &serviceUuid, (ble_uuid_t*) &controlPointCharacteristicUuid, nullptr, &controlPointCharacteristicHandle);
86-
ble_gatts_find_chr((ble_uuid_t*) &serviceUuid, (ble_uuid_t*) &revisionCharacteristicUuid, nullptr, &revisionCharacteristicHandle);
84+
ble_gatts_find_chr(&serviceUuid.u, &packetCharacteristicUuid.u, nullptr, &packetCharacteristicHandle);
85+
ble_gatts_find_chr(&serviceUuid.u, &controlPointCharacteristicUuid.u, nullptr, &controlPointCharacteristicHandle);
86+
ble_gatts_find_chr(&serviceUuid.u, &revisionCharacteristicUuid.u, nullptr, &revisionCharacteristicHandle);
8787

8888
if (attributeHandle == packetCharacteristicHandle) {
8989
if (context->op == BLE_GATT_ACCESS_OP_WRITE_CHR)
@@ -164,10 +164,10 @@ int DfuService::WritePacketHandler(uint16_t connectionHandle, os_mbuf* om) {
164164

165165
if ((nbPacketReceived % nbPacketsToNotify) == 0 && bytesReceived != applicationSize) {
166166
uint8_t data[5] {static_cast<uint8_t>(Opcodes::PacketReceiptNotification),
167-
(uint8_t) (bytesReceived & 0x000000FFu),
168-
(uint8_t) (bytesReceived >> 8u),
169-
(uint8_t) (bytesReceived >> 16u),
170-
(uint8_t) (bytesReceived >> 24u)};
167+
(uint8_t)(bytesReceived & 0x000000FFu),
168+
(uint8_t)(bytesReceived >> 8u),
169+
(uint8_t)(bytesReceived >> 16u),
170+
(uint8_t)(bytesReceived >> 24u)};
171171
NRF_LOG_INFO("[DFU] -> Send packet notification: %d bytes received", bytesReceived);
172172
notificationManager.Send(connectionHandle, controlPointCharacteristicHandle, data, 5);
173173
}
@@ -422,9 +422,9 @@ uint16_t DfuService::DfuImage::ComputeCrc(uint8_t const* p_data, uint32_t size,
422422
uint16_t crc = (p_crc == NULL) ? 0xFFFF : *p_crc;
423423

424424
for (uint32_t i = 0; i < size; i++) {
425-
crc = (uint8_t) (crc >> 8) | (crc << 8);
425+
crc = (uint8_t)(crc >> 8) | (crc << 8);
426426
crc ^= p_data[i];
427-
crc ^= (uint8_t) (crc & 0xFF) >> 4;
427+
crc ^= (uint8_t)(crc & 0xFF) >> 4;
428428
crc ^= (crc << 8) << 4;
429429
crc ^= ((crc & 0xFF) << 4) << 1;
430430
}

src/components/ble/HeartRateService.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace {
1818
HeartRateService::HeartRateService(Pinetime::System::SystemTask& system, Controllers::HeartRateController& heartRateController)
1919
: system {system},
2020
heartRateController {heartRateController},
21-
characteristicDefinition {{.uuid = (ble_uuid_t*) &heartRateMeasurementUuid,
21+
characteristicDefinition {{.uuid = &heartRateMeasurementUuid.u,
2222
.access_cb = HeartRateServiceServiceCallback,
2323
.arg = this,
2424
.flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_NOTIFY,
@@ -27,7 +27,7 @@ HeartRateService::HeartRateService(Pinetime::System::SystemTask& system, Control
2727
serviceDefinition {
2828
{/* Device Information Service */
2929
.type = BLE_GATT_SVC_TYPE_PRIMARY,
30-
.uuid = (ble_uuid_t*) &heartRateServiceUuid,
30+
.uuid = &heartRateServiceUuid.u,
3131
.characteristics = characteristicDefinition},
3232
{0},
3333
} {

src/components/ble/ImmediateAlertService.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ ImmediateAlertService::ImmediateAlertService(Pinetime::System::SystemTask& syste
3232
Pinetime::Controllers::NotificationManager& notificationManager)
3333
: systemTask {systemTask},
3434
notificationManager {notificationManager},
35-
characteristicDefinition {{.uuid = (ble_uuid_t*) &alertLevelUuid,
35+
characteristicDefinition {{.uuid = &alertLevelUuid.u,
3636
.access_cb = AlertLevelCallback,
3737
.arg = this,
3838
.flags = BLE_GATT_CHR_F_WRITE_NO_RSP,
@@ -41,7 +41,7 @@ ImmediateAlertService::ImmediateAlertService(Pinetime::System::SystemTask& syste
4141
serviceDefinition {
4242
{/* Device Information Service */
4343
.type = BLE_GATT_SVC_TYPE_PRIMARY,
44-
.uuid = (ble_uuid_t*) &immediateAlertServiceUuid,
44+
.uuid = &immediateAlertServiceUuid.u,
4545
.characteristics = characteristicDefinition},
4646
{0},
4747
} {
@@ -72,4 +72,4 @@ int ImmediateAlertService::OnAlertLevelChanged(uint16_t connectionHandle, uint16
7272
}
7373

7474
return 0;
75-
}
75+
}

src/components/ble/NavigationService.cpp

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,24 +50,18 @@ Pinetime::Controllers::NavigationService::NavigationService(Pinetime::System::Sy
5050
navProgressCharUuid.value[15] = navId[1];
5151

5252
characteristicDefinition[0] = {
53-
.uuid = (ble_uuid_t*) (&navFlagCharUuid), .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
54-
55-
characteristicDefinition[1] = {.uuid = (ble_uuid_t*) (&navNarrativeCharUuid),
56-
.access_cb = NAVCallback,
57-
.arg = this,
58-
.flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
59-
characteristicDefinition[2] = {.uuid = (ble_uuid_t*) (&navManDistCharUuid),
60-
.access_cb = NAVCallback,
61-
.arg = this,
62-
.flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
63-
characteristicDefinition[3] = {.uuid = (ble_uuid_t*) (&navProgressCharUuid),
64-
.access_cb = NAVCallback,
65-
.arg = this,
66-
.flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
53+
.uuid = &navFlagCharUuid.u, .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
54+
55+
characteristicDefinition[1] = {
56+
.uuid = &navNarrativeCharUuid.u, .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
57+
characteristicDefinition[2] = {
58+
.uuid = &navManDistCharUuid.u, .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
59+
characteristicDefinition[3] = {
60+
.uuid = &navProgressCharUuid.u, .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
6761

6862
characteristicDefinition[4] = {0};
6963

70-
serviceDefinition[0] = {.type = BLE_GATT_SVC_TYPE_PRIMARY, .uuid = (ble_uuid_t*) &navUuid, .characteristics = characteristicDefinition};
64+
serviceDefinition[0] = {.type = BLE_GATT_SVC_TYPE_PRIMARY, .uuid = &navUuid.u, .characteristics = characteristicDefinition};
7165
serviceDefinition[1] = {0};
7266

7367
m_progress = 0;
@@ -90,13 +84,13 @@ int Pinetime::Controllers::NavigationService::OnCommand(uint16_t conn_handle, ui
9084
data[notifSize] = '\0';
9185
os_mbuf_copydata(ctxt->om, 0, notifSize, data);
9286
char* s = (char*) &data[0];
93-
if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t*) &navFlagCharUuid) == 0) {
87+
if (ble_uuid_cmp(ctxt->chr->uuid, &navFlagCharUuid.u) == 0) {
9488
m_flag = s;
95-
} else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t*) &navNarrativeCharUuid) == 0) {
89+
} else if (ble_uuid_cmp(ctxt->chr->uuid, &navNarrativeCharUuid.u) == 0) {
9690
m_narrative = s;
97-
} else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t*) &navManDistCharUuid) == 0) {
91+
} else if (ble_uuid_cmp(ctxt->chr->uuid, &navManDistCharUuid.u) == 0) {
9892
m_manDist = s;
99-
} else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t*) &navProgressCharUuid) == 0) {
93+
} else if (ble_uuid_cmp(ctxt->chr->uuid, &navProgressCharUuid.u) == 0) {
10094
m_progress = data[0];
10195
}
10296
}

0 commit comments

Comments
 (0)