diff options
| author | JF <jf@codingfield.com> | 2020-05-24 14:58:29 (GMT) |
|---|---|---|
| committer | Gitea <gitea@fake.local> | 2020-05-24 14:58:29 (GMT) |
| commit | 82b4ddc25b4c7913e0e6a13a209a4415dff044f1 (patch) | |
| tree | 8eeafef1f4150a1cf238ee80e53c8901b0ec67af /src/Components/Ble/NimbleController.h | |
| parent | be1ad9b07083e656a649d223750ff4b14b781b7b (diff) | |
| parent | 073717980f5c00f553ac3b58a50b792b32a14c7a (diff) | |
Merge branch 'nimble-ota' of JF/PineTime into develop
Diffstat (limited to 'src/Components/Ble/NimbleController.h')
| -rw-r--r-- | src/Components/Ble/NimbleController.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Components/Ble/NimbleController.h b/src/Components/Ble/NimbleController.h index 44fbbe2..7e68060 100644 --- a/src/Components/Ble/NimbleController.h +++ b/src/Components/Ble/NimbleController.h @@ -5,16 +5,22 @@ #include "AlertNotificationClient.h" #include "DeviceInformationService.h" #include "CurrentTimeClient.h" +#include "DfuService.h" #include "CurrentTimeService.h" #include <host/ble_gap.h> namespace Pinetime { + namespace Drivers { + class SpiNorFlash; + } namespace Controllers { class DateTime; class NimbleController { public: - NimbleController(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::Ble& bleController, DateTime& dateTimeController, Pinetime::Controllers::NotificationManager& notificationManager); + NimbleController(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::Ble& bleController, + DateTime& dateTimeController, Pinetime::Controllers::NotificationManager& notificationManager, + Pinetime::Drivers::SpiNorFlash& spiNorFlash); void Init(); void StartAdvertising(); int OnGAPEvent(ble_gap_event *event); @@ -27,12 +33,16 @@ namespace Pinetime { int OnCurrentTimeReadResult(uint16_t connectionHandle, const ble_gatt_error *error, ble_gatt_attr *attribute); int OnANSDescriptorDiscoveryEventCallback(uint16_t connectionHandle, const ble_gatt_error *error, uint16_t characteristicValueHandle, const ble_gatt_dsc *descriptor); + + void StartDiscovery(); private: static constexpr char* deviceName = "Pinetime-JF"; Pinetime::System::SystemTask& systemTask; Pinetime::Controllers::Ble& bleController; DateTime& dateTimeController; Pinetime::Controllers::NotificationManager& notificationManager; + Pinetime::Drivers::SpiNorFlash& spiNorFlash; + Pinetime::Controllers::DfuService dfuService; DeviceInformationService deviceInformationService; CurrentTimeClient currentTimeClient; @@ -42,6 +52,12 @@ namespace Pinetime { uint8_t addrType; uint16_t connectionHandle; + + ble_uuid128_t dfuServiceUuid { + .u { .type = BLE_UUID_TYPE_128}, + .value = {0x23, 0xD1, 0xBC, 0xEA, 0x5F, 0x78, 0x23, 0x15, + 0xDE, 0xEF, 0x12, 0x12, 0x30, 0x15, 0x00, 0x00} + }; }; } } |
