NimbleController : CTS & ANS working but not at the same time (conflict during discovery)

This commit is contained in:
JF
2020-04-25 13:09:47 +02:00
parent 89ccdd0003
commit 5fcb90a149
8 changed files with 306 additions and 14 deletions

View File

@@ -1,7 +1,7 @@
#pragma once
#include <cstdint>
#include "AlertNotificationClient.h"
#include "DeviceInformationService.h"
#include "CurrentTimeClient.h"
#include <host/ble_gap.h>
@@ -11,16 +11,21 @@ namespace Pinetime {
class DateTime;
class NimbleController {
public:
NimbleController(DateTime& dateTimeController);
NimbleController(Pinetime::System::SystemTask& systemTask, DateTime& dateTimeController, Pinetime::Controllers::NotificationManager& notificationManager);
void Init();
void StartAdvertising();
int OnGAPEvent(ble_gap_event *event);
int OnDiscoveryEvent(uint16_t i, const ble_gatt_error *pError, const ble_gatt_svc *pSvc);
private:
static constexpr char* deviceName = "Pinetime-JF";
Pinetime::System::SystemTask& systemTask;
DateTime& dateTimeController;
Pinetime::Controllers::NotificationManager& notificationManager;
DeviceInformationService deviceInformationService;
CurrentTimeClient currentTimeClient;
AlertNotificationClient alertNotificationClient;
uint8_t addrType;
uint16_t connectionHandle;
};