Author: Adam Pigg <adam@piggz.co.uk>
Add start of music appliction
src/CMakeLists.txt | 2 ++ src/Components/Ble/NimbleController.cpp | 1 + src/Components/Ble/NimbleController.h | 5 +++++ src/DisplayApp/DisplayApp.cpp | 2 ++ src/DisplayApp/DisplayApp.h | 2 +- src/DisplayApp/Screens/Gauge.cpp | 1 + src/DisplayApp/Screens/Tile.cpp | 4 ++-- src/SystemTask/SystemTask.h | 4 +++-
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a30fb568115c74cda4f5796ec1fdf7dc86deafae..8c702b8edc80c3cc9e979f7fbc640283ea4e886c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -336,6 +336,7 @@ DisplayApp/Screens/Brightness.cpp DisplayApp/Screens/ScreenList.cpp DisplayApp/Screens/Label.cpp DisplayApp/Screens/FirmwareUpdate.cpp + DisplayApp/Screens/Music.cpp main.cpp drivers/St7789.cpp drivers/SpiNorFlash.cpp @@ -356,6 +357,7 @@ Components/Ble/AlertNotificationClient.cpp Components/Ble/DfuService.cpp Components/Ble/CurrentTimeService.cpp Components/Ble/AlertNotificationService.cpp + Components/Ble/MusicService.cpp drivers/Cst816s.cpp FreeRTOS/port.c FreeRTOS/port_cmsis_systick.c diff --git a/src/Components/Ble/NimbleController.cpp b/src/Components/Ble/NimbleController.cpp index 561dbce4b38a3363cf60fe9afc6a6cbc8d639c8a..53458676f939e964968381bfc32848eda17f740b 100644 --- a/src/Components/Ble/NimbleController.cpp +++ b/src/Components/Ble/NimbleController.cpp @@ -80,6 +80,7 @@ deviceInformationService.Init(); currentTimeClient.Init(); currentTimeService.Init(); + musicService.Init(); anService.Init(); diff --git a/src/Components/Ble/NimbleController.h b/src/Components/Ble/NimbleController.h index cf50d78deaad9bf0b63dcef0dc6dd326ceeaa112..fab3df2b2a114c762a31be38b9b4c784aded678d 100644 --- a/src/Components/Ble/NimbleController.h +++ b/src/Components/Ble/NimbleController.h @@ -7,6 +7,7 @@ #include "DeviceInformationService.h" #include "CurrentTimeClient.h" #include "DfuService.h" #include "CurrentTimeService.h" +#include "MusicService.h" #include <host/ble_gap.h> namespace Pinetime { @@ -35,6 +36,9 @@ int OnANSDescriptorDiscoveryEventCallback(uint16_t connectionHandle, const ble_gatt_error *error, uint16_t characteristicValueHandle, const ble_gatt_dsc *descriptor); void StartDiscovery(); + + Pinetime::Controllers::MusicService& music() {return musicService;}; + private: static constexpr char* deviceName = "Pinetime-JF"; Pinetime::System::SystemTask& systemTask; @@ -49,6 +53,7 @@ CurrentTimeClient currentTimeClient; AlertNotificationService anService; AlertNotificationClient alertNotificationClient; CurrentTimeService currentTimeService; + MusicService musicService; uint8_t addrType; // 1 = Random, 0 = PUBLIC uint16_t connectionHandle; diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index 8e35ef551de8692983266b9055fddc0a795854ff..7c822ee0a04ddd54cfc2d80fc0680582864e9e21 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -15,6 +15,7 @@ #include#include <DisplayApp/Screens/Gauge.h> #include <DisplayApp/Screens/Brightness.h> #include <DisplayApp/Screens/ScreenList.h> +#include <DisplayApp/Screens/Music.h> #include <Components/Ble/NotificationManager.h> #include <DisplayApp/Screens/FirmwareUpdate.h> #include "../SystemTask/SystemTask.h" @@ -189,6 +190,7 @@ case Apps::SysInfo: currentScreen.reset(new Screens::ScreenList(this, dateTimeController, batteryController, brightnessController, bleController, watchdog)); break; case Apps::Meter: currentScreen.reset(new Screens::Meter(this)); break; case Apps::Gauge: currentScreen.reset(new Screens::Gauge(this)); break; case Apps::Brightness : currentScreen.reset(new Screens::Brightness(this, brightnessController)); break; + case Apps::Music : currentScreen.reset(new Screens::Music(this)); break; } nextApp = Apps::None; } diff --git a/src/DisplayApp/DisplayApp.h b/src/DisplayApp/DisplayApp.h index b45a0beedce12bdc7f02302c11028c5aa0644d6e..671a40d0988132669013f8df157321191f38557d 100644 --- a/src/DisplayApp/DisplayApp.h +++ b/src/DisplayApp/DisplayApp.h @@ -43,7 +43,7 @@ Pinetime::Controllers::NotificationManager& notificationManager); void Start(); void PushMessage(Messages msg); - enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness}; + enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music}; void StartApp(Apps app); void SetFullRefresh(FullRefreshDirections direction); diff --git a/src/DisplayApp/Screens/Gauge.cpp b/src/DisplayApp/Screens/Gauge.cpp index 4c4cccd99e21faa7fd7a67ee19d9fd8bfea6a32f..fd905231fd835b5b66d92cd2b3541c68061e53f4 100644 --- a/src/DisplayApp/Screens/Gauge.cpp +++ b/src/DisplayApp/Screens/Gauge.cpp @@ -19,6 +19,7 @@ style.line.width = 3; style.text.color = LV_COLOR_WHITE; style.line.color = LV_COLOR_RED; /*Line color after the critical value*/ + /*Describe the color for the needles*/ needle_colors[0] = LV_COLOR_ORANGE; diff --git a/src/DisplayApp/Screens/Tile.cpp b/src/DisplayApp/Screens/Tile.cpp index 6c225c9d64067038b1d4fd7514332be148d61a54..88e5bff6cfb28c1159f9c486f4fe795542e44af4 100644 --- a/src/DisplayApp/Screens/Tile.cpp +++ b/src/DisplayApp/Screens/Tile.cpp @@ -16,7 +16,7 @@ uint32_t eventData = *eventDataPtr; screen->OnObjectEvent(obj, event, eventData); } -static const char * btnm_map1[] = {"Meter", "Gauge", "Clock", "\n", "Soft\nversion", "App2", "Brightness", ""}; +static const char * btnm_map1[] = {"Meter", "Music", "Clock", "\n", "Soft\nversion", "App2", "Brightness", ""}; Tile::Tile(DisplayApp* app) : Screen(app) { modal.reset(new Modal(app)); @@ -166,7 +166,7 @@ running = false; } void Tile::StartGaugeApp() { - app->StartApp(DisplayApp::Apps::Gauge); + app->StartApp(DisplayApp::Apps::Music); running = false; } diff --git a/src/SystemTask/SystemTask.h b/src/SystemTask/SystemTask.h index ab5f7010ab75cd2596a0f57cedede4defc328c2b..e2325bd60ff753c4e588e5487254422c0f2a4fc1 100644 --- a/src/SystemTask/SystemTask.h +++ b/src/SystemTask/SystemTask.h @@ -35,6 +35,8 @@ void OnTouchEvent(); void OnIdle(); + Pinetime::Controllers::NimbleController& nimble() {return nimbleController;}; + private: TaskHandle_t taskHandle; @@ -74,4 +76,4 @@ void GoToRunning(); }; } -} \ No newline at end of file +}