summaryrefslogtreecommitdiff
path: root/src/components/ble
diff options
context:
space:
mode:
authorJF002 <JF002@users.noreply.github.com>2020-12-01 21:44:44 +0100
committerGitHub <noreply@github.com>2020-12-01 21:44:44 +0100
commitc6556bcdea7671f1c1daaa9e20c4c3d7cd5f29a4 (patch)
tree38c920cd13ed3768af2363de317ef3adf4483bd6 /src/components/ble
parentc87de415b28710ec0f5a504fe4720402b9be5ebc (diff)
parent6e22509b5ffe6d7c29d09b07f38e64fb1bdc0b21 (diff)
Merge pull request #136 from okaestne/include-cleanup
Includes cleanup
Diffstat (limited to 'src/components/ble')
-rw-r--r--src/components/ble/AlertNotificationClient.cpp10
-rw-r--r--src/components/ble/AlertNotificationClient.h14
-rw-r--r--src/components/ble/AlertNotificationService.cpp13
-rw-r--r--src/components/ble/AlertNotificationService.h10
-rw-r--r--src/components/ble/BatteryInformationService.h4
-rw-r--r--src/components/ble/BleController.cpp2
-rw-r--r--src/components/ble/BleController.h3
-rw-r--r--src/components/ble/CurrentTimeClient.cpp3
-rw-r--r--src/components/ble/CurrentTimeClient.h10
-rw-r--r--src/components/ble/CurrentTimeService.h4
-rw-r--r--src/components/ble/DeviceInformationService.h9
-rw-r--r--src/components/ble/DfuService.cpp4
-rw-r--r--src/components/ble/DfuService.h4
-rw-r--r--src/components/ble/ImmediateAlertService.cpp6
-rw-r--r--src/components/ble/ImmediateAlertService.h4
-rw-r--r--src/components/ble/MusicService.cpp2
-rw-r--r--src/components/ble/MusicService.h7
-rw-r--r--src/components/ble/NimbleController.cpp24
-rw-r--r--src/components/ble/NimbleController.h23
-rw-r--r--src/components/ble/NotificationManager.cpp2
-rw-r--r--src/components/ble/NotificationManager.h4
-rw-r--r--src/components/ble/ServiceDiscovery.cpp4
-rw-r--r--src/components/ble/ServiceDiscovery.h6
23 files changed, 115 insertions, 57 deletions
diff --git a/src/components/ble/AlertNotificationClient.cpp b/src/components/ble/AlertNotificationClient.cpp
index abe41099..e7a18626 100644
--- a/src/components/ble/AlertNotificationClient.cpp
+++ b/src/components/ble/AlertNotificationClient.cpp
@@ -1,7 +1,7 @@
-#include <systemtask/SystemTask.h>
-#include "NotificationManager.h"
-
#include "AlertNotificationClient.h"
+#include <algorithm>
+#include "NotificationManager.h"
+#include "systemtask/SystemTask.h"
using namespace Pinetime::Controllers;
constexpr ble_uuid16_t AlertNotificationClient::ansServiceUuid;
@@ -159,8 +159,8 @@ void AlertNotificationClient::OnNotification(ble_gap_event *event) {
const auto maxBufferSize{maxMessageSize + headerSize};
const auto dbgPacketLen = OS_MBUF_PKTLEN(event->notify_rx.om);
- size_t bufferSize = min(dbgPacketLen + stringTerminatorSize, maxBufferSize);
- auto messageSize = min(maxMessageSize, (bufferSize - headerSize));
+ size_t bufferSize = std::min(dbgPacketLen + stringTerminatorSize, maxBufferSize);
+ auto messageSize = std::min(maxMessageSize, (bufferSize - headerSize));
NotificationManager::Notification notif;
os_mbuf_copydata(event->notify_rx.om, headerSize, messageSize - 1, notif.message.data());
diff --git a/src/components/ble/AlertNotificationClient.h b/src/components/ble/AlertNotificationClient.h
index bc0df51e..fa10456c 100644
--- a/src/components/ble/AlertNotificationClient.h
+++ b/src/components/ble/AlertNotificationClient.h
@@ -1,13 +1,23 @@
#pragma once
#include <cstdint>
-#include <array>
+#include <functional>
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#undef max
+#undef min
#include "BleClient.h"
-
namespace Pinetime {
+
+ namespace System {
+ class SystemTask;
+ }
+
namespace Controllers {
+ class NotificationManager;
+
class AlertNotificationClient : public BleClient {
public:
explicit AlertNotificationClient(Pinetime::System::SystemTask &systemTask,
diff --git a/src/components/ble/AlertNotificationService.cpp b/src/components/ble/AlertNotificationService.cpp
index 32711b92..3156470c 100644
--- a/src/components/ble/AlertNotificationService.cpp
+++ b/src/components/ble/AlertNotificationService.cpp
@@ -1,10 +1,9 @@
-
-#include <hal/nrf_rtc.h>
-#include "NotificationManager.h"
-#include <systemtask/SystemTask.h>
-
#include "AlertNotificationService.h"
+#include <hal/nrf_rtc.h>
#include <cstring>
+#include <algorithm>
+#include "NotificationManager.h"
+#include "systemtask/SystemTask.h"
using namespace Pinetime::Controllers;
@@ -60,8 +59,8 @@ int AlertNotificationService::OnAlert(uint16_t conn_handle, uint16_t attr_handle
const auto maxBufferSize{maxMessageSize + headerSize};
const auto dbgPacketLen = OS_MBUF_PKTLEN(ctxt->om);
- size_t bufferSize = min(dbgPacketLen + stringTerminatorSize, maxBufferSize);
- auto messageSize = min(maxMessageSize, (bufferSize-headerSize));
+ size_t bufferSize = std::min(dbgPacketLen + stringTerminatorSize, maxBufferSize);
+ auto messageSize = std::min(maxMessageSize, (bufferSize-headerSize));
NotificationManager::Notification notif;
os_mbuf_copydata(ctxt->om, headerSize, messageSize-1, notif.message.data());
diff --git a/src/components/ble/AlertNotificationService.h b/src/components/ble/AlertNotificationService.h
index 1b8c4989..120312d2 100644
--- a/src/components/ble/AlertNotificationService.h
+++ b/src/components/ble/AlertNotificationService.h
@@ -1,10 +1,20 @@
#pragma once
#include <cstdint>
#include <array>
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#undef max
+#undef min
namespace Pinetime {
+
+ namespace System {
+ class SystemTask;
+ }
namespace Controllers {
+ class NotificationManager;
+
class AlertNotificationService {
public:
AlertNotificationService(Pinetime::System::SystemTask &systemTask,
diff --git a/src/components/ble/BatteryInformationService.h b/src/components/ble/BatteryInformationService.h
index 74b2222c..b00000a4 100644
--- a/src/components/ble/BatteryInformationService.h
+++ b/src/components/ble/BatteryInformationService.h
@@ -1,5 +1,9 @@
#pragma once
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#undef max
+#undef min
namespace Pinetime {
namespace System {
diff --git a/src/components/ble/BleController.cpp b/src/components/ble/BleController.cpp
index 2b396e12..650ec79f 100644
--- a/src/components/ble/BleController.cpp
+++ b/src/components/ble/BleController.cpp
@@ -1,5 +1,3 @@
-#include <cstring>
-#include <cstdlib>
#include "BleController.h"
using namespace Pinetime::Controllers;
diff --git a/src/components/ble/BleController.h b/src/components/ble/BleController.h
index 3f52ea25..0570c8d0 100644
--- a/src/components/ble/BleController.h
+++ b/src/components/ble/BleController.h
@@ -1,8 +1,7 @@
#pragma once
-#include <FreeRTOS.h>
-#include <queue.h>
#include <array>
+#include <cstdint>
namespace Pinetime {
namespace Controllers {
diff --git a/src/components/ble/CurrentTimeClient.cpp b/src/components/ble/CurrentTimeClient.cpp
index 92f9374b..be50fede 100644
--- a/src/components/ble/CurrentTimeClient.cpp
+++ b/src/components/ble/CurrentTimeClient.cpp
@@ -1,5 +1,6 @@
-#include <hal/nrf_rtc.h>
#include "CurrentTimeClient.h"
+#include <hal/nrf_rtc.h>
+#include "components/datetime/DateTimeController.h"
using namespace Pinetime::Controllers;
diff --git a/src/components/ble/CurrentTimeClient.h b/src/components/ble/CurrentTimeClient.h
index 93139399..1b2e018c 100644
--- a/src/components/ble/CurrentTimeClient.h
+++ b/src/components/ble/CurrentTimeClient.h
@@ -1,13 +1,15 @@
#pragma once
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
+#include <host/ble_gap.h>
+#undef max
+#undef min
#include <cstdint>
-#include <array>
-
-#include "components/datetime/DateTimeController.h"
#include "BleClient.h"
-#include <host/ble_gap.h>
namespace Pinetime {
namespace Controllers {
+ class DateTime;
class CurrentTimeClient : public BleClient {
public:
diff --git a/src/components/ble/CurrentTimeService.h b/src/components/ble/CurrentTimeService.h
index a6be9647..23956283 100644
--- a/src/components/ble/CurrentTimeService.h
+++ b/src/components/ble/CurrentTimeService.h
@@ -3,7 +3,11 @@
#include <array>
#include "components/datetime/DateTimeController.h"
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#undef max
+#undef min
namespace Pinetime {
namespace Controllers {
diff --git a/src/components/ble/DeviceInformationService.h b/src/components/ble/DeviceInformationService.h
index 25ab8402..94ca7bbf 100644
--- a/src/components/ble/DeviceInformationService.h
+++ b/src/components/ble/DeviceInformationService.h
@@ -1,9 +1,10 @@
#pragma once
-#include <cstdint>
-#include <array>
-
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
-#include <Version.h>
+#undef max
+#undef min
+#include "Version.h"
namespace Pinetime {
namespace Controllers {
diff --git a/src/components/ble/DfuService.cpp b/src/components/ble/DfuService.cpp
index 4dec5141..90795b49 100644
--- a/src/components/ble/DfuService.cpp
+++ b/src/components/ble/DfuService.cpp
@@ -1,8 +1,8 @@
+#include "DfuService.h"
#include <cstring>
-
#include "components/ble/BleController.h"
+#include "drivers/SpiNorFlash.h"
#include "systemtask/SystemTask.h"
-#include "DfuService.h"
using namespace Pinetime::Controllers;
diff --git a/src/components/ble/DfuService.h b/src/components/ble/DfuService.h
index d7ba460c..096bd99a 100644
--- a/src/components/ble/DfuService.h
+++ b/src/components/ble/DfuService.h
@@ -3,7 +3,11 @@
#include <cstdint>
#include <array>
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#undef max
+#undef min
namespace Pinetime {
namespace System {
diff --git a/src/components/ble/ImmediateAlertService.cpp b/src/components/ble/ImmediateAlertService.cpp
index e2cee308..0f6bf6cf 100644
--- a/src/components/ble/ImmediateAlertService.cpp
+++ b/src/components/ble/ImmediateAlertService.cpp
@@ -1,7 +1,7 @@
-#include <systemtask/SystemTask.h>
-#include <cstring>
#include "ImmediateAlertService.h"
-#include "AlertNotificationService.h"
+#include <cstring>
+#include "NotificationManager.h"
+#include "systemtask/SystemTask.h"
using namespace Pinetime::Controllers;
diff --git a/src/components/ble/ImmediateAlertService.h b/src/components/ble/ImmediateAlertService.h
index c42846c4..2bc9cba5 100644
--- a/src/components/ble/ImmediateAlertService.h
+++ b/src/components/ble/ImmediateAlertService.h
@@ -1,5 +1,9 @@
#pragma once
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#undef max
+#undef min
namespace Pinetime {
namespace System {
diff --git a/src/components/ble/MusicService.cpp b/src/components/ble/MusicService.cpp
index 84f2972b..fdecb6b3 100644
--- a/src/components/ble/MusicService.cpp
+++ b/src/components/ble/MusicService.cpp
@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-#include <systemtask/SystemTask.h>
#include "MusicService.h"
+#include "systemtask/SystemTask.h"
int MSCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) {
auto musicService = static_cast<Pinetime::Controllers::MusicService *>(arg);
diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h
index b365909b..ee3628b0 100644
--- a/src/components/ble/MusicService.h
+++ b/src/components/ble/MusicService.h
@@ -18,10 +18,13 @@
#pragma once
#include <cstdint>
-#include <array>
+#include <string>
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
#include <host/ble_uuid.h>
-#include <string>
+#undef max
+#undef min
//c7e50000-78fc-48fe-8e23-43b37a1942d0
#define MUSIC_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0xe5, 0xc7}
diff --git a/src/components/ble/NimbleController.cpp b/src/components/ble/NimbleController.cpp
index af7f4029..a6f3cc39 100644
--- a/src/components/ble/NimbleController.cpp
+++ b/src/components/ble/NimbleController.cpp
@@ -1,15 +1,19 @@
-#include "components/datetime/DateTimeController.h"
-#include <systemtask/SystemTask.h>
-#include "components/ble/NotificationManager.h"
-#include <hal/nrf_rtc.h>
#include "NimbleController.h"
-#include "MusicService.h"
-#include <services/gatt/ble_svc_gatt.h>
-#include <services/gap/ble_svc_gap.h>
-#include <host/util/util.h>
-#include <host/ble_hs_id.h>
-#include <host/ble_hs.h>
+#include <hal/nrf_rtc.h>
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
#include <host/ble_gap.h>
+#include <host/ble_hs.h>
+#include <host/ble_hs_id.h>
+#include <host/util/util.h>
+#undef max
+#undef min
+#include <services/gap/ble_svc_gap.h>
+#include <services/gatt/ble_svc_gatt.h>
+#include "components/ble/BleController.h"
+#include "components/ble/NotificationManager.h"
+#include "components/datetime/DateTimeController.h"
+#include "systemtask/SystemTask.h"
using namespace Pinetime::Controllers;
diff --git a/src/components/ble/NimbleController.h b/src/components/ble/NimbleController.h
index 8ddec1f9..914f11e6 100644
--- a/src/components/ble/NimbleController.h
+++ b/src/components/ble/NimbleController.h
@@ -2,24 +2,35 @@
#include <cstdint>
-#include "AlertNotificationService.h"
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
+#include <host/ble_gap.h>
+#undef max
+#undef min
#include "AlertNotificationClient.h"
-#include "DeviceInformationService.h"
+#include "AlertNotificationService.h"
+#include "BatteryInformationService.h"
#include "CurrentTimeClient.h"
-#include "DfuService.h"
#include "CurrentTimeService.h"
-#include "MusicService.h"
-#include "BatteryInformationService.h"
+#include "DeviceInformationService.h"
+#include "DfuService.h"
#include "ImmediateAlertService.h"
+#include "MusicService.h"
#include "ServiceDiscovery.h"
-#include <host/ble_gap.h>
namespace Pinetime {
namespace Drivers {
class SpiNorFlash;
}
+
+ namespace System {
+ class SystemTask;
+ }
+
namespace Controllers {
+ class Ble;
class DateTime;
+ class NotificationManager;
class NimbleController {
diff --git a/src/components/ble/NotificationManager.cpp b/src/components/ble/NotificationManager.cpp
index 67711723..dabcb4ba 100644
--- a/src/components/ble/NotificationManager.cpp
+++ b/src/components/ble/NotificationManager.cpp
@@ -1,6 +1,6 @@
+#include "NotificationManager.h"
#include <cstring>
#include <algorithm>
-#include "NotificationManager.h"
using namespace Pinetime::Controllers;
diff --git a/src/components/ble/NotificationManager.h b/src/components/ble/NotificationManager.h
index 49fe8306..036d2ed9 100644
--- a/src/components/ble/NotificationManager.h
+++ b/src/components/ble/NotificationManager.h
@@ -2,6 +2,8 @@
#include <array>
#include <atomic>
+#include <cstddef>
+#include <cstdint>
namespace Pinetime {
namespace Controllers {
@@ -27,7 +29,7 @@ namespace Pinetime {
bool ClearNewNotificationFlag();
bool AreNewNotificationsAvailable();
- static constexpr uint8_t MaximumMessageSize() { return MessageSize; };
+ static constexpr size_t MaximumMessageSize() { return MessageSize; };
size_t NbNotifications() const;
private:
diff --git a/src/components/ble/ServiceDiscovery.cpp b/src/components/ble/ServiceDiscovery.cpp
index 4b29d89c..4d37b8bd 100644
--- a/src/components/ble/ServiceDiscovery.cpp
+++ b/src/components/ble/ServiceDiscovery.cpp
@@ -1,5 +1,7 @@
-#include <libraries/log/nrf_log.h>
#include "ServiceDiscovery.h"
+#include <libraries/log/nrf_log.h>
+#include "BleClient.h"
+
using namespace Pinetime::Controllers;
ServiceDiscovery::ServiceDiscovery(std::array<BleClient*, 2>&& clients) : clients{clients} {
diff --git a/src/components/ble/ServiceDiscovery.h b/src/components/ble/ServiceDiscovery.h
index c86fc4ec..0b26bd1d 100644
--- a/src/components/ble/ServiceDiscovery.h
+++ b/src/components/ble/ServiceDiscovery.h
@@ -1,12 +1,12 @@
#pragma once
#include <array>
-#include <functional>
-#include <memory>
-#include "BleClient.h"
+#include <cstdint>
namespace Pinetime {
namespace Controllers {
+ class BleClient;
+
class ServiceDiscovery {
public:
ServiceDiscovery(std::array<BleClient*, 2>&& bleClients);