summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorMark Russell <mruss660@gmail.com>2021-09-16 20:12:20 (GMT)
committerMark Russell <mruss660@gmail.com>2021-09-16 20:12:20 (GMT)
commitcdf99b08f42c3826a8608d756bc7cda0a476ed98 (patch)
treecd30018ebb68be09653b589ae11647ca33d40c73 /src/main.cpp
parent1d43adcdfa7bd15ba45c0c9d7c59c0ff99176b9c (diff)
Revert "Merge upstream"
This reverts commit 1d43adcdfa7bd15ba45c0c9d7c59c0ff99176b9c.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp47
1 files changed, 29 insertions, 18 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 7d4f085..6a7f5eb 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -43,9 +43,7 @@
#include "drivers/St7789.h"
#include "drivers/TwiMaster.h"
#include "drivers/Cst816s.h"
-#include "drivers/PinMap.h"
#include "systemtask/SystemTask.h"
-#include "drivers/PinMap.h"
#include "touchhandler/TouchHandler.h"
#if NRF_LOG_ENABLED
@@ -56,6 +54,14 @@ Pinetime::Logging::NrfLogger logger;
Pinetime::Logging::DummyLogger logger;
#endif
+static constexpr uint8_t pinSpiSck = 2;
+static constexpr uint8_t pinSpiMosi = 3;
+static constexpr uint8_t pinSpiMiso = 4;
+static constexpr uint8_t pinSpiFlashCsn = 5;
+static constexpr uint8_t pinLcdCsn = 25;
+static constexpr uint8_t pinLcdDataCommand = 18;
+static constexpr uint8_t pinTwiScl = 7;
+static constexpr uint8_t pinTwiSda = 6;
static constexpr uint8_t touchPanelTwiAddress = 0x15;
static constexpr uint8_t motionSensorTwiAddress = 0x18;
static constexpr uint8_t heartRateSensorTwiAddress = 0x44;
@@ -64,30 +70,33 @@ 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,
- Pinetime::PinMap::SpiSck,
- Pinetime::PinMap::SpiMosi,
- Pinetime::PinMap::SpiMiso}};
+ pinSpiSck,
+ pinSpiMosi,
+ pinSpiMiso}};
-Pinetime::Drivers::Spi lcdSpi {spi, Pinetime::PinMap::SpiLcdCsn};
-Pinetime::Drivers::St7789 lcd {lcdSpi, Pinetime::PinMap::LcdDataCommand};
+Pinetime::Drivers::Spi lcdSpi {spi, pinLcdCsn};
+Pinetime::Drivers::St7789 lcd {lcdSpi, pinLcdDataCommand};
-Pinetime::Drivers::Spi flashSpi {spi, Pinetime::PinMap::SpiFlashCsn};
+Pinetime::Drivers::Spi flashSpi {spi, pinSpiFlashCsn};
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 {NRF_TWIM1, MaxTwiFrequencyWithoutHardwareBug, Pinetime::PinMap::TwiSda, Pinetime::PinMap::TwiScl};
+Pinetime::Drivers::TwiMaster twiMaster {NRF_TWIM1, 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"
+Pinetime::Components::LittleVgl lvgl {lcd, touchPanel};
#else
+static constexpr bool isFactory = false;
#include "displayapp/LittleVgl.h"
#include "displayapp/DisplayApp.h"
-#endif
Pinetime::Components::LittleVgl lvgl {lcd, touchPanel};
+#endif
Pinetime::Drivers::Bma421 motionSensor {twiMaster, motionSensorTwiAddress};
Pinetime::Drivers::Hrs3300 heartRateSensor {twiMaster, heartRateSensorTwiAddress};
@@ -96,8 +105,10 @@ TimerHandle_t debounceTimer;
TimerHandle_t debounceChargeTimer;
Pinetime::Controllers::Battery batteryController;
Pinetime::Controllers::Ble bleController;
-static constexpr uint8_t pinTouchIrq = Pinetime::PinMap::Cst816sIrq;
-static constexpr uint8_t pinPowerPresentIrq = Pinetime::PinMap::PowerPresent;
+void ble_manager_set_ble_connection_callback(void (*connection)());
+void ble_manager_set_ble_disconnection_callback(void (*disconnection)());
+static constexpr uint8_t pinTouchIrq = 28;
+static constexpr uint8_t pinPowerPresentIrq = 19;
Pinetime::Controllers::HeartRateController heartRateController;
Pinetime::Applications::HeartRateTask heartRateApp(heartRateSensor, heartRateController);
@@ -157,14 +168,14 @@ Pinetime::System::SystemTask systemTask(spi,
touchHandler);
void nrfx_gpiote_evt_handler(nrfx_gpiote_pin_t pin, nrf_gpiote_polarity_t action) {
- if (pin == Pinetime::PinMap::Cst816sIrq) {
+ if (pin == pinTouchIrq) {
systemTask.OnTouchEvent();
return;
}
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
- if (pin == Pinetime::PinMap::PowerPresent and action == NRF_GPIOTE_POLARITY_TOGGLE) {
+ if (pin == pinPowerPresentIrq and action == NRF_GPIOTE_POLARITY_TOGGLE) {
xTimerStartFromISR(debounceChargeTimer, &xHigherPriorityTaskWoken);
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
return;
@@ -297,18 +308,18 @@ int main(void) {
nrf_drv_clock_init();
// Unblock i2c?
- nrf_gpio_cfg(Pinetime::PinMap::TwiScl,
+ nrf_gpio_cfg(pinTwiScl,
NRF_GPIO_PIN_DIR_OUTPUT,
NRF_GPIO_PIN_INPUT_DISCONNECT,
NRF_GPIO_PIN_NOPULL,
NRF_GPIO_PIN_S0D1,
NRF_GPIO_PIN_NOSENSE);
- nrf_gpio_pin_set(Pinetime::PinMap::TwiScl);
+ nrf_gpio_pin_set(pinTwiScl);
for (uint8_t i = 0; i < 16; i++) {
- nrf_gpio_pin_toggle(Pinetime::PinMap::TwiScl);
+ nrf_gpio_pin_toggle(pinTwiScl);
nrf_delay_us(5);
}
- nrf_gpio_cfg_default(Pinetime::PinMap::TwiScl);
+ nrf_gpio_cfg_default(pinTwiScl);
debounceTimer = xTimerCreate("debounceTimer", 200, pdFALSE, (void*) 0, DebounceTimerCallback);
debounceChargeTimer = xTimerCreate("debounceTimerCharge", 200, pdFALSE, (void*) 0, DebounceTimerChargeCallback);