summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 7f8bef8c..ac6f3fcc 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -33,6 +33,8 @@ Pinetime::Controllers::Ble bleController;
Pinetime::Controllers::DateTime dateTimeController;
+void ble_manager_set_ble_connection_callback(void (*connection)());
+void ble_manager_set_ble_disconnection_callback(void (*disconnection)());
static constexpr uint8_t pinButton = 13;
static constexpr uint8_t pinTouchIrq = 28;
@@ -98,10 +100,17 @@ void SystemTask(void *) {
vTaskSuspend(nullptr);
}
-void OnNewTime(current_time_char_t* currentTime) {
+void OnBleConnection() {
bleController.Connect();
displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::UpdateBleConnection);
+}
+void OnBleDisconnection() {
+ bleController.Disconnect();
+ displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::UpdateBleConnection);
+}
+
+void OnNewTime(current_time_char_t* currentTime) {
auto dayOfWeek = currentTime->exact_time_256.day_date_time.day_of_week;
auto year = currentTime->exact_time_256.day_date_time.date_time.year;
auto month = currentTime->exact_time_256.day_date_time.date_time.month;
@@ -122,7 +131,9 @@ int main(void) {
APP_ERROR_HANDLER(NRF_ERROR_NO_MEM);
ble_manager_init();
- ble_manager_set_callback(OnNewTime);
+ ble_manager_set_new_time_callback(OnNewTime);
+ ble_manager_set_ble_connection_callback(OnBleConnection);
+ ble_manager_set_ble_disconnection_callback(OnBleDisconnection);
vTaskStartScheduler();
@@ -133,3 +144,4 @@ int main(void) {
+