mirror of
https://github.com/InfiniTimeOrg/InfiniTime.git
synced 2024-11-28 14:33:24 +03:00
Merge pull request #238 from nscooling/make_unique
Resolved C++14 Cmake build issues so correctly building to C99/C++14
This commit is contained in:
commit
58a2d000c4
@ -1,6 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(pinetime VERSION 0.15.0 LANGUAGES C CXX ASM)
|
||||
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
# set(CMAKE_GENERATOR "Unix Makefiles")
|
||||
set(CMAKE_C_EXTENSIONS OFF)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
set(NRF_TARGET "nrf52")
|
||||
|
||||
if (NOT ARM_NONE_EABI_TOOLCHAIN_PATH)
|
||||
|
@ -36,9 +36,6 @@ macro(nRF5x_setup)
|
||||
set(CMAKE_OSX_SYSROOT "/")
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "")
|
||||
|
||||
# language standard/version settings
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
# CPU specyfic settings
|
||||
if (NRF_TARGET MATCHES "nrf51")
|
||||
@ -86,8 +83,8 @@ macro(nRF5x_setup)
|
||||
set(CMAKE_CXX_FLAGS "${COMMON_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g3")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
|
||||
set(CMAKE_ASM_FLAGS "-MP -MD -std=c99 -x assembler-with-cpp")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} ${CPU_FLAGS} -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm")
|
||||
set(CMAKE_ASM_FLAGS "-MP -MD -x assembler-with-cpp")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} ${CPU_FLAGS} -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm")
|
||||
# note: we must override the default cmake linker flags so that CMAKE_C_FLAGS are not added implicitly
|
||||
set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_COMPILER} <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_C_COMPILER} <LINK_FLAGS> <OBJECTS> -lstdc++ -o <TARGET> <LINK_LIBRARIES>")
|
||||
|
@ -3,16 +3,6 @@ cmake_minimum_required(VERSION 3.10)
|
||||
project(pinetime-app C CXX ASM)
|
||||
|
||||
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
# set(CMAKE_GENERATOR "Unix Makefiles")
|
||||
set(CMAKE_C_EXTENSIONS OFF)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# define some variables just for this example to determine file locations
|
||||
set(NRF_PROJECT_NAME pinetime-app)
|
||||
set(NRF_BOARD pca10040)
|
||||
@ -875,8 +865,6 @@ target_compile_options(${EXECUTABLE_NAME} PUBLIC
|
||||
set_target_properties(${EXECUTABLE_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_FILE_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_NAME}
|
||||
@ -907,8 +895,6 @@ target_compile_options(${EXECUTABLE_MCUBOOT_NAME} PUBLIC
|
||||
set_target_properties(${EXECUTABLE_MCUBOOT_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_MCUBOOT_FILE_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_MCUBOOT_NAME}
|
||||
@ -946,8 +932,6 @@ target_compile_options(${EXECUTABLE_RECOVERY_NAME} PUBLIC
|
||||
set_target_properties(${EXECUTABLE_RECOVERY_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_RECOVERY_FILE_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_RECOVERY_NAME}
|
||||
@ -977,9 +961,7 @@ target_compile_options(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} PUBLIC
|
||||
|
||||
set_target_properties(${EXECUTABLE_RECOVERY_MCUBOOT_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_RECOVERY_MCUBOOT_FILE_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_GRAPHICS_FILE_NAME}.map"
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_RECOVERY_MCUBOOT_NAME}
|
||||
@ -1021,8 +1003,6 @@ add_dependencies(${EXECUTABLE_RECOVERYLOADER_NAME} ${EXECUTABLE_RECOVERY_MCUBOOT
|
||||
set_target_properties(${EXECUTABLE_RECOVERYLOADER_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_RECOVERYLOADER_FILE_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_RECOVERYLOADER_NAME}
|
||||
@ -1056,8 +1036,6 @@ add_dependencies(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} ${EXECUTABLE_RECOVERY
|
||||
set_target_properties(${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_MCUBOOT_RECOVERYLOADER_FILE_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_MCUBOOT_RECOVERYLOADER_NAME}
|
||||
|
@ -123,7 +123,7 @@ void DisplayApp::Refresh() {
|
||||
currentScreen.reset(nullptr);
|
||||
lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::Up);
|
||||
onClockApp = false;
|
||||
currentScreen.reset(new Screens::Notifications(this, notificationManager, systemTask.nimble().alertService(), Screens::Notifications::Modes::Preview));
|
||||
currentScreen = std::make_unique<Screens::Notifications>(this, notificationManager, systemTask.nimble().alertService(), Screens::Notifications::Modes::Preview);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -161,10 +161,10 @@ void DisplayApp::Refresh() {
|
||||
// lvgl.SetFullRefresh(components::LittleVgl::FullRefreshDirections::Down);
|
||||
// currentScreen.reset(nullptr);
|
||||
// if(toggle) {
|
||||
// currentScreen.reset(new Screens::Tile(this));
|
||||
// currentScreen = std::make_unique<Screens::Tile>(this);
|
||||
// toggle = false;
|
||||
// } else {
|
||||
// currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController));
|
||||
// currentScreen = std::make_unique<Screens::Clock>(this, dateTimeController, batteryController, bleController);
|
||||
// toggle = true;
|
||||
// }
|
||||
|
||||
@ -172,10 +172,14 @@ void DisplayApp::Refresh() {
|
||||
case Messages::BleFirmwareUpdateStarted:
|
||||
lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::Down);
|
||||
currentScreen.reset(nullptr);
|
||||
currentScreen.reset(new Screens::FirmwareUpdate(this, bleController));
|
||||
currentScreen = std::make_unique<Screens::FirmwareUpdate>(this, bleController);
|
||||
onClockApp = false;
|
||||
|
||||
break;
|
||||
case Messages::UpdateDateTime:
|
||||
// Added to remove warning
|
||||
// What should happen here?
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -198,23 +202,23 @@ void DisplayApp::RunningState() {
|
||||
onClockApp = false;
|
||||
switch(nextApp) {
|
||||
case Apps::None:
|
||||
case Apps::Launcher: currentScreen.reset(new Screens::ApplicationList(this, settingsController)); break;
|
||||
case Apps::Launcher: currentScreen = std::make_unique<Screens::ApplicationList>(this, settingsController); break;
|
||||
case Apps::Clock:
|
||||
currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager, settingsController, heartRateController));
|
||||
currentScreen = std::make_unique<Screens::Clock>(this, dateTimeController, batteryController, bleController, notificationManager, settingsController, heartRateController);
|
||||
onClockApp = true;
|
||||
break;
|
||||
case Apps::SysInfo: currentScreen.reset(new Screens::SystemInfo(this, dateTimeController, batteryController, brightnessController, bleController, watchdog)); break;
|
||||
case Apps::Meter: currentScreen.reset(new Screens::Meter(this)); break;
|
||||
case Apps::StopWatch: currentScreen.reset(new Screens::StopWatch(this)); break;
|
||||
case Apps::Twos: currentScreen.reset(new Screens::Twos(this)); break;
|
||||
case Apps::Paint: currentScreen.reset(new Screens::InfiniPaint(this, lvgl)); break;
|
||||
case Apps::Paddle: currentScreen.reset(new Screens::Paddle(this, lvgl)); break;
|
||||
case Apps::Brightness : currentScreen.reset(new Screens::Brightness(this, brightnessController)); break;
|
||||
case Apps::Music : currentScreen.reset(new Screens::Music(this, systemTask.nimble().music())); break;
|
||||
case Apps::Navigation : currentScreen.reset(new Screens::Navigation(this, systemTask.nimble().navigation())); break;
|
||||
case Apps::FirmwareValidation: currentScreen.reset(new Screens::FirmwareValidation(this, validator)); break;
|
||||
case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, systemTask.nimble().alertService(), Screens::Notifications::Modes::Normal)); break;
|
||||
case Apps::HeartRate: currentScreen.reset(new Screens::HeartRate(this, heartRateController)); break;
|
||||
case Apps::SysInfo: currentScreen = std::make_unique<Screens::SystemInfo>(this, dateTimeController, batteryController, brightnessController, bleController, watchdog); break;
|
||||
case Apps::Meter: currentScreen = std::make_unique<Screens::Meter>(this);break;
|
||||
case Apps::StopWatch: currentScreen = std::make_unique<Screens::StopWatch>(this); break;
|
||||
case Apps::Twos: currentScreen = std::make_unique<Screens::Twos>(this); break;
|
||||
case Apps::Paint: currentScreen = std::make_unique<Screens::InfiniPaint>(this, lvgl); break;
|
||||
case Apps::Paddle: currentScreen = std::make_unique<Screens::Paddle>(this, lvgl); break;
|
||||
case Apps::Brightness : currentScreen = std::make_unique<Screens::Brightness>(this, brightnessController); break;
|
||||
case Apps::Music : currentScreen = std::make_unique<Screens::Music>(this, systemTask.nimble().music()); break;
|
||||
case Apps::Navigation : currentScreen = std::make_unique<Screens::Navigation>(this, systemTask.nimble().navigation()); break;
|
||||
case Apps::FirmwareValidation: currentScreen = std::make_unique<Screens::FirmwareValidation>(this, validator); break;
|
||||
case Apps::Notifications: currentScreen = std::make_unique<Screens::Notifications>(this, notificationManager, systemTask.nimble().alertService(), Screens::Notifications::Modes::Normal); break;
|
||||
case Apps::HeartRate: currentScreen = std::make_unique<Screens::HeartRate>(this, heartRateController); break;
|
||||
}
|
||||
nextApp = Apps::None;
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen1() {
|
||||
|
||||
};
|
||||
|
||||
return std::unique_ptr<Screen>(new Screens::Tile(0, app, settingsController, applications));
|
||||
return std::make_unique<Screens::Tile>(0, app, settingsController, applications);
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> ApplicationList::CreateScreen2() {
|
||||
@ -70,7 +70,7 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen2() {
|
||||
}
|
||||
};
|
||||
|
||||
return std::unique_ptr<Screen>(new Screens::Tile(1, app, settingsController, applications));
|
||||
return std::make_unique<Screens::Tile>(1, app, settingsController, applications);
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> ApplicationList::CreateScreen3() {
|
||||
@ -84,6 +84,6 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen3() {
|
||||
}
|
||||
};
|
||||
|
||||
return std::unique_ptr<Screen>(new Screens::Tile(2, app, settingsController, applications));
|
||||
return std::make_unique<Screens::Tile>(2, app, settingsController, applications);
|
||||
}
|
||||
|
||||
|
@ -64,20 +64,20 @@ bool Clock::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> Clock::WatchFaceDigitalScreen() {
|
||||
return std::unique_ptr<Screen>(new Screens::WatchFaceDigital(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController, heartRateController));
|
||||
return std::make_unique<Screens::WatchFaceDigital>(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController, heartRateController);
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> Clock::WatchFaceAnalogScreen() {
|
||||
return std::unique_ptr<Screen>(new Screens::WatchFaceAnalog(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController));
|
||||
return std::make_unique<Screens::WatchFaceAnalog>(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController);
|
||||
}
|
||||
|
||||
/*
|
||||
// Examples for more watch faces
|
||||
std::unique_ptr<Screen> Clock::WatchFaceMinimalScreen() {
|
||||
return std::unique_ptr<Screen>(new Screens::WatchFaceMinimal(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController));
|
||||
return std::make_unique<Screens::WatchFaceMinimal>(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController);
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> Clock::WatchFaceCustomScreen() {
|
||||
return std::unique_ptr<Screen>(new Screens::WatchFaceCustom(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController));
|
||||
return std::make_unique<Screens::WatchFaceCustom>(app, dateTimeController, batteryController, bleController, notificatioManager, settingsController);
|
||||
}
|
||||
*/
|
@ -17,22 +17,22 @@ Notifications::Notifications(DisplayApp *app,
|
||||
auto notification = notificationManager.GetLastNotification();
|
||||
if(notification.valid) {
|
||||
currentId = notification.id;
|
||||
currentItem.reset(new NotificationItem("\nNotification",
|
||||
currentItem = std::make_unique<NotificationItem>("\nNotification",
|
||||
notification.message.data(),
|
||||
notification.index,
|
||||
notification.category,
|
||||
notificationManager.NbNotifications(),
|
||||
mode,
|
||||
alertNotificationService));
|
||||
alertNotificationService);
|
||||
validDisplay = true;
|
||||
} else {
|
||||
currentItem.reset(new NotificationItem("\nNotification",
|
||||
currentItem = std::make_unique<NotificationItem>("\nNotification",
|
||||
"No notification to display",
|
||||
0,
|
||||
notification.category,
|
||||
notificationManager.NbNotifications(),
|
||||
Modes::Preview,
|
||||
alertNotificationService));
|
||||
alertNotificationService);
|
||||
}
|
||||
|
||||
if(mode == Modes::Preview) {
|
||||
@ -87,13 +87,13 @@ bool Notifications::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
|
||||
currentId = previousNotification.id;
|
||||
currentItem.reset(nullptr);
|
||||
app->SetFullRefresh(DisplayApp::FullRefreshDirections::Up);
|
||||
currentItem.reset(new NotificationItem("\nNotification",
|
||||
currentItem = std::make_unique<NotificationItem>("\nNotification",
|
||||
previousNotification.message.data(),
|
||||
previousNotification.index,
|
||||
previousNotification.category,
|
||||
notificationManager.NbNotifications(),
|
||||
mode,
|
||||
alertNotificationService));
|
||||
alertNotificationService);
|
||||
}
|
||||
return true;
|
||||
case Pinetime::Applications::TouchEvents::SwipeDown: {
|
||||
@ -109,13 +109,13 @@ bool Notifications::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
|
||||
currentId = nextNotification.id;
|
||||
currentItem.reset(nullptr);
|
||||
app->SetFullRefresh(DisplayApp::FullRefreshDirections::Down);
|
||||
currentItem.reset(new NotificationItem("\nNotification",
|
||||
currentItem = std::make_unique<NotificationItem>("\nNotification",
|
||||
nextNotification.message.data(),
|
||||
nextNotification.index,
|
||||
nextNotification.category,
|
||||
notificationManager.NbNotifications(),
|
||||
mode,
|
||||
alertNotificationService));
|
||||
alertNotificationService);
|
||||
}
|
||||
return true;
|
||||
case Pinetime::Applications::TouchEvents::LongTap: {
|
||||
|
@ -104,14 +104,14 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen1() {
|
||||
uptimeDays, uptimeHours, uptimeMinutes, uptimeSeconds,
|
||||
batteryPercent, brightness, resetReason);
|
||||
|
||||
return std::unique_ptr<Screen>(new Screens::Label(app, t1));
|
||||
return std::make_unique<Screens::Label>(app, t1);
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> SystemInfo::CreateScreen2() {
|
||||
auto& bleAddr = bleController.Address();
|
||||
sprintf(t2, "BLE MAC: \n %02x:%02x:%02x:%02x:%02x:%02x",
|
||||
bleAddr[5], bleAddr[4], bleAddr[3], bleAddr[2], bleAddr[1], bleAddr[0]);
|
||||
return std::unique_ptr<Screen>(new Screens::Label(app, t2));
|
||||
return std::make_unique<Screens::Label>(app, t2);
|
||||
}
|
||||
|
||||
std::unique_ptr<Screen> SystemInfo::CreateScreen3() {
|
||||
@ -123,5 +123,5 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen3() {
|
||||
"Source code:\n"
|
||||
"https://github.com/\n"
|
||||
" JF002/InfiniTime");
|
||||
return std::unique_ptr<Screen>(new Screens::Label(app, t3));
|
||||
return std::make_unique<Screens::Label>(app, t3);
|
||||
}
|
||||
|
@ -5,6 +5,8 @@
|
||||
#include "Symbols.h"
|
||||
#include "NotificationIcon.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
LV_IMG_DECLARE(bg_clock);
|
||||
|
||||
using namespace Pinetime::Applications::Screens;
|
||||
|
@ -49,6 +49,8 @@ Pinetime::Logging::NrfLogger logger;
|
||||
Pinetime::Logging::DummyLogger logger;
|
||||
#endif
|
||||
|
||||
#include <memory>
|
||||
|
||||
static constexpr uint8_t pinSpiSck = 2;
|
||||
static constexpr uint8_t pinSpiMosi = 3;
|
||||
static constexpr uint8_t pinSpiMiso = 4;
|
||||
@ -254,8 +256,8 @@ int main(void) {
|
||||
|
||||
debounceTimer = xTimerCreate ("debounceTimer", 200, pdFALSE, (void *) 0, DebounceTimerCallback);
|
||||
|
||||
systemTask.reset(new Pinetime::System::SystemTask(spi, lcd, spiNorFlash, twiMaster, touchPanel, lvgl, batteryController, bleController,
|
||||
dateTimeController, motorController, heartRateSensor, settingsController));
|
||||
systemTask = std::make_unique<Pinetime::System::SystemTask>(spi, lcd, spiNorFlash, twiMaster, touchPanel, lvgl, batteryController, bleController,
|
||||
dateTimeController, motorController, heartRateSensor, settingsController);
|
||||
systemTask->Start();
|
||||
nimble_port_init();
|
||||
|
||||
|
@ -23,6 +23,8 @@
|
||||
#include "drivers/Hrs3300.h"
|
||||
#include "main.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
using namespace Pinetime::System;
|
||||
|
||||
void IdleTimerCallback(TimerHandle_t xTimer) {
|
||||
@ -86,9 +88,9 @@ void SystemTask::Work() {
|
||||
settingsController.Init();
|
||||
|
||||
|
||||
displayApp.reset(new Pinetime::Applications::DisplayApp(lcd, lvgl, touchPanel, batteryController, bleController,
|
||||
displayApp = std::make_unique<Pinetime::Applications::DisplayApp>(lcd, lvgl, touchPanel, batteryController, bleController,
|
||||
dateTimeController, watchdogView, *this, notificationManager,
|
||||
heartRateController, settingsController));
|
||||
heartRateController, settingsController);
|
||||
displayApp->Start();
|
||||
|
||||
batteryController.Update();
|
||||
@ -96,7 +98,7 @@ void SystemTask::Work() {
|
||||
|
||||
heartRateSensor.Init();
|
||||
heartRateSensor.Disable();
|
||||
heartRateApp.reset(new Pinetime::Applications::HeartRateTask(heartRateSensor, heartRateController));
|
||||
heartRateApp = std::make_unique<Pinetime::Applications::HeartRateTask>(heartRateSensor, heartRateController);
|
||||
heartRateApp->Start();
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user