summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp104
1 files changed, 51 insertions, 53 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 9470bdb9..04cef6b5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -43,10 +43,10 @@
#include "systemtask/SystemTask.h"
#if NRF_LOG_ENABLED
-#include "logging/NrfLogger.h"
+ #include "logging/NrfLogger.h"
Pinetime::Logging::NrfLogger logger;
#else
-#include "logging/DummyLogger.h"
+ #include "logging/DummyLogger.h"
Pinetime::Logging::DummyLogger logger;
#endif
@@ -64,15 +64,13 @@ static constexpr uint8_t touchPanelTwiAddress = 0x15;
static constexpr uint8_t motionSensorTwiAddress = 0x18;
static constexpr uint8_t heartRateSensorTwiAddress = 0x44;
-Pinetime::Drivers::SpiMaster spi{Pinetime::Drivers::SpiMaster::SpiModule::SPI0, {
- Pinetime::Drivers::SpiMaster::BitOrder::Msb_Lsb,
- Pinetime::Drivers::SpiMaster::Modes::Mode3,
- Pinetime::Drivers::SpiMaster::Frequencies::Freq8Mhz,
- pinSpiSck,
- pinSpiMosi,
- pinSpiMiso
- }
-};
+Pinetime::Drivers::SpiMaster spi {Pinetime::Drivers::SpiMaster::SpiModule::SPI0,
+ {Pinetime::Drivers::SpiMaster::BitOrder::Msb_Lsb,
+ Pinetime::Drivers::SpiMaster::Modes::Mode3,
+ Pinetime::Drivers::SpiMaster::Frequencies::Freq8Mhz,
+ pinSpiSck,
+ pinSpiMosi,
+ pinSpiMiso}};
Pinetime::Drivers::Spi lcdSpi {spi, pinLcdCsn};
Pinetime::Drivers::St7789 lcd {lcdSpi, pinLcdDataCommand};
@@ -83,27 +81,25 @@ Pinetime::Drivers::SpiNorFlash spiNorFlash {flashSpi};
// The TWI device should work @ up to 400Khz but there is a HW bug which prevent it from
// respecting correct timings. According to erratas heet, this magic value makes it run
// at ~390Khz with correct timings.
-static constexpr uint32_t MaxTwiFrequencyWithoutHardwareBug{0x06200000};
-Pinetime::Drivers::TwiMaster twiMaster{Pinetime::Drivers::TwiMaster::Modules::TWIM1,
- Pinetime::Drivers::TwiMaster::Parameters {
- MaxTwiFrequencyWithoutHardwareBug, pinTwiSda, pinTwiScl}};
+static constexpr uint32_t MaxTwiFrequencyWithoutHardwareBug {0x06200000};
+Pinetime::Drivers::TwiMaster twiMaster {Pinetime::Drivers::TwiMaster::Modules::TWIM1,
+ Pinetime::Drivers::TwiMaster::Parameters {MaxTwiFrequencyWithoutHardwareBug, pinTwiSda, pinTwiScl}};
Pinetime::Drivers::Cst816S touchPanel {twiMaster, touchPanelTwiAddress};
#ifdef PINETIME_IS_RECOVERY
static constexpr bool isFactory = true;
-#include "displayapp/DummyLittleVgl.h"
-#include "displayapp/DisplayAppRecovery.h"
+ #include "displayapp/DummyLittleVgl.h"
+ #include "displayapp/DisplayAppRecovery.h"
Pinetime::Components::LittleVgl lvgl {lcd, touchPanel};
#else
static constexpr bool isFactory = false;
-#include "displayapp/LittleVgl.h"
-#include "displayapp/DisplayApp.h"
+ #include "displayapp/LittleVgl.h"
+ #include "displayapp/DisplayApp.h"
Pinetime::Components::LittleVgl lvgl {lcd, touchPanel};
#endif
-Pinetime::Drivers::Bma421 motionSensor{twiMaster, motionSensorTwiAddress};
+Pinetime::Drivers::Bma421 motionSensor {twiMaster, motionSensorTwiAddress};
Pinetime::Drivers::Hrs3300 heartRateSensor {twiMaster, heartRateSensorTwiAddress};
-
TimerHandle_t debounceTimer;
Pinetime::Controllers::Battery batteryController;
Pinetime::Controllers::Ble bleController;
@@ -112,14 +108,14 @@ void ble_manager_set_ble_disconnection_callback(void (*disconnection)());
static constexpr uint8_t pinTouchIrq = 28;
std::unique_ptr<Pinetime::System::SystemTask> systemTask;
-Pinetime::Controllers::Settings settingsController{spiNorFlash};
+Pinetime::Controllers::Settings settingsController {spiNorFlash};
-Pinetime::Controllers::MotorController motorController{settingsController};
+Pinetime::Controllers::MotorController motorController {settingsController};
void nrfx_gpiote_evt_handler(nrfx_gpiote_pin_t pin, nrf_gpiote_polarity_t action) {
- if(pin == pinTouchIrq) {
+ if (pin == pinTouchIrq) {
systemTask->OnTouchEvent();
- return ;
+ return;
}
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
@@ -128,10 +124,10 @@ void nrfx_gpiote_evt_handler(nrfx_gpiote_pin_t pin, nrf_gpiote_polarity_t action
}
extern "C" {
- void vApplicationIdleHook(void) {
- if(!isFactory)
- lv_tick_inc(1);
- }
+void vApplicationIdleHook(void) {
+ if (!isFactory)
+ lv_tick_inc(1);
+}
}
void DebounceTimerCallback(TimerHandle_t xTimer) {
@@ -140,25 +136,24 @@ void DebounceTimerCallback(TimerHandle_t xTimer) {
}
void SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler(void) {
- if(((NRF_SPIM0->INTENSET & (1<<6)) != 0) && NRF_SPIM0->EVENTS_END == 1) {
+ if (((NRF_SPIM0->INTENSET & (1 << 6)) != 0) && NRF_SPIM0->EVENTS_END == 1) {
NRF_SPIM0->EVENTS_END = 0;
spi.OnEndEvent();
}
- if(((NRF_SPIM0->INTENSET & (1<<19)) != 0) && NRF_SPIM0->EVENTS_STARTED == 1) {
+ if (((NRF_SPIM0->INTENSET & (1 << 19)) != 0) && NRF_SPIM0->EVENTS_STARTED == 1) {
NRF_SPIM0->EVENTS_STARTED = 0;
spi.OnStartedEvent();
}
- if(((NRF_SPIM0->INTENSET & (1<<1)) != 0) && NRF_SPIM0->EVENTS_STOPPED == 1) {
+ if (((NRF_SPIM0->INTENSET & (1 << 1)) != 0) && NRF_SPIM0->EVENTS_STOPPED == 1) {
NRF_SPIM0->EVENTS_STOPPED = 0;
}
}
-static void (*radio_isr_addr)(void) ;
-static void (*rng_isr_addr)(void) ;
-static void (*rtc0_isr_addr)(void) ;
-
+static void (*radio_isr_addr)(void);
+static void (*rng_isr_addr)(void);
+static void (*rtc0_isr_addr)(void);
/* Some interrupt handlers required for NimBLE radio driver */
extern "C" {
@@ -192,8 +187,7 @@ void npl_freertos_hw_set_isr(int irqn, void (*addr)(void)) {
}
}
-uint32_t
-npl_freertos_hw_enter_critical(void) {
+uint32_t npl_freertos_hw_enter_critical(void) {
uint32_t ctx = __get_PRIMASK();
__disable_irq();
return (ctx & 0x01);
@@ -205,16 +199,14 @@ void npl_freertos_hw_exit_critical(uint32_t ctx) {
}
}
-
static struct ble_npl_eventq g_eventq_dflt;
-struct ble_npl_eventq *
-nimble_port_get_dflt_eventq(void) {
+struct ble_npl_eventq* nimble_port_get_dflt_eventq(void) {
return &g_eventq_dflt;
}
void nimble_port_run(void) {
- struct ble_npl_event *ev;
+ struct ble_npl_event* ev;
while (1) {
ev = ble_npl_eventq_get(&g_eventq_dflt, BLE_NPL_TIME_FOREVER);
@@ -222,7 +214,7 @@ void nimble_port_run(void) {
}
}
-void BleHost(void *) {
+void BleHost(void*) {
nimble_port_run();
}
@@ -244,8 +236,8 @@ void nimble_port_init(void) {
nimble_port_freertos_init(BleHost);
}
-void nimble_port_ll_task_func(void *args) {
- extern void ble_ll_task(void *);
+void nimble_port_ll_task_func(void* args) {
+ extern void ble_ll_task(void*);
ble_ll_task(args);
}
}
@@ -255,10 +247,20 @@ int main(void) {
nrf_drv_clock_init();
- debounceTimer = xTimerCreate ("debounceTimer", 200, pdFALSE, (void *) 0, DebounceTimerCallback);
-
- systemTask = std::make_unique<Pinetime::System::SystemTask>(spi, lcd, spiNorFlash, twiMaster, touchPanel, lvgl, batteryController, bleController,
- motorController, heartRateSensor, motionSensor, settingsController);
+ debounceTimer = xTimerCreate("debounceTimer", 200, pdFALSE, (void*) 0, DebounceTimerCallback);
+
+ systemTask = std::make_unique<Pinetime::System::SystemTask>(spi,
+ lcd,
+ spiNorFlash,
+ twiMaster,
+ touchPanel,
+ lvgl,
+ batteryController,
+ bleController,
+ motorController,
+ heartRateSensor,
+ motionSensor,
+ settingsController);
systemTask->Start();
nimble_port_init();
@@ -268,7 +270,3 @@ int main(void) {
APP_ERROR_HANDLER(NRF_ERROR_FORBIDDEN);
}
}
-
-
-
-