From 40d45d923b033363ff1304b47eac238dd4495a57 Mon Sep 17 00:00:00 2001 From: Avamander Date: Sun, 18 Apr 2021 20:28:14 +0300 Subject: Reformatted all the files according to clang-format style --- src/drivers/Bma421.cpp | 35 ++++--- src/drivers/Bma421.h | 8 +- src/drivers/BufferProvider.h | 4 +- src/drivers/Cst816s.cpp | 19 ++-- src/drivers/Cst816s.h | 97 ++++++++++---------- src/drivers/DebugPins.cpp | 12 +-- src/drivers/DebugPins.h | 1 - src/drivers/Hrs3300.cpp | 20 +--- src/drivers/Hrs3300.h | 5 +- src/drivers/InternalFlash.cpp | 6 +- src/drivers/InternalFlash.h | 5 +- src/drivers/Spi.cpp | 11 +-- src/drivers/Spi.h | 30 +++--- src/drivers/SpiMaster.cpp | 209 +++++++++++++++++++++++------------------- src/drivers/SpiMaster.h | 100 ++++++++++---------- src/drivers/SpiNorFlash.cpp | 55 +++++------ src/drivers/SpiNorFlash.h | 101 ++++++++++---------- src/drivers/St7789.cpp | 20 ++-- src/drivers/St7789.h | 109 +++++++++++----------- src/drivers/TwiMaster.cpp | 112 +++++++++++----------- src/drivers/TwiMaster.h | 57 ++++++------ src/drivers/Watchdog.cpp | 61 +++++++----- src/drivers/Watchdog.h | 36 +++++--- 23 files changed, 573 insertions(+), 540 deletions(-) (limited to 'src/drivers') diff --git a/src/drivers/Bma421.cpp b/src/drivers/Bma421.cpp index d7a59cf0..925b66c7 100644 --- a/src/drivers/Bma421.cpp +++ b/src/drivers/Bma421.cpp @@ -24,7 +24,7 @@ namespace { } } -Bma421::Bma421(TwiMaster& twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, deviceAddress{twiAddress} { +Bma421::Bma421(TwiMaster& twiMaster, uint8_t twiAddress) : twiMaster {twiMaster}, deviceAddress {twiAddress} { bma.intf = BMA4_I2C_INTF; bma.bus_read = user_i2c_read; bma.bus_write = user_i2c_write; @@ -35,25 +35,32 @@ Bma421::Bma421(TwiMaster& twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, } void Bma421::Init() { - if(not isResetOk) return; // Call SoftReset (and reset TWI device) first! + if (not isResetOk) + return; // Call SoftReset (and reset TWI device) first! auto ret = bma423_init(&bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; ret = bma423_write_config_file(&bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; ret = bma4_set_interrupt_mode(BMA4_LATCH_MODE, &bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; ret = bma423_feature_enable(BMA423_STEP_CNTR, 1, &bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; ret = bma423_step_detector_enable(0, &bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; ret = bma4_set_accel_enable(1, &bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; struct bma4_accel_config accel_conf; accel_conf.odr = BMA4_OUTPUT_DATA_RATE_100HZ; @@ -61,7 +68,8 @@ void Bma421::Init() { accel_conf.bandwidth = BMA4_ACCEL_NORMAL_AVG4; accel_conf.perf_mode = BMA4_CIC_AVG_MODE; ret = bma4_set_accel_config(&accel_conf, &bma); - if(ret != BMA4_OK) return; + if (ret != BMA4_OK) + return; isOk = true; } @@ -71,16 +79,17 @@ void Bma421::Reset() { twiMaster.Write(deviceAddress, 0x7E, &data, 1); } -void Bma421::Read(uint8_t registerAddress, uint8_t *buffer, size_t size) { +void Bma421::Read(uint8_t registerAddress, uint8_t* buffer, size_t size) { twiMaster.Read(deviceAddress, registerAddress, buffer, size); } -void Bma421::Write(uint8_t registerAddress, const uint8_t *data, size_t size) { +void Bma421::Write(uint8_t registerAddress, const uint8_t* data, size_t size) { twiMaster.Write(deviceAddress, registerAddress, data, size); } Bma421::Values Bma421::Process() { - if(not isOk) return {}; + if (not isOk) + return {}; struct bma4_accel data; bma4_read_accel_xyz(&data, &bma); @@ -109,7 +118,7 @@ void Bma421::ResetStepCounter() { void Bma421::SoftReset() { auto ret = bma4_soft_reset(&bma); - if(ret == BMA4_OK) { + if (ret == BMA4_OK) { isResetOk = true; nrf_delay_ms(1); } diff --git a/src/drivers/Bma421.h b/src/drivers/Bma421.h index da021cbf..3287ed9e 100644 --- a/src/drivers/Bma421.h +++ b/src/drivers/Bma421.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Drivers { class TwiMaster; class Bma421 { - public: + public: struct Values { uint32_t steps; int16_t x; @@ -25,12 +25,12 @@ namespace Pinetime { Values Process(); void ResetStepCounter(); - void Read(uint8_t registerAddress, uint8_t *buffer, size_t size); - void Write(uint8_t registerAddress, const uint8_t *data, size_t size); + void Read(uint8_t registerAddress, uint8_t* buffer, size_t size); + void Write(uint8_t registerAddress, const uint8_t* data, size_t size); bool IsOk() const; - private: + private: void Reset(); TwiMaster& twiMaster; diff --git a/src/drivers/BufferProvider.h b/src/drivers/BufferProvider.h index 1be4317a..fac03bdc 100644 --- a/src/drivers/BufferProvider.h +++ b/src/drivers/BufferProvider.h @@ -5,8 +5,8 @@ namespace Pinetime { namespace Drivers { class BufferProvider { - public: - virtual bool GetNextBuffer(uint8_t** buffer, size_t& size) = 0; + public: + virtual bool GetNextBuffer(uint8_t** buffer, size_t& size) = 0; }; } } \ No newline at end of file diff --git a/src/drivers/Cst816s.cpp b/src/drivers/Cst816s.cpp index e3a37b1b..fd9792b3 100644 --- a/src/drivers/Cst816s.cpp +++ b/src/drivers/Cst816s.cpp @@ -7,14 +7,14 @@ using namespace Pinetime::Drivers; /* References : - * This implementation is based on this article : https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 - * Touch panel datasheet (weird chinese translation) : https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf + * This implementation is based on this article : + * https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Touch panel datasheet (weird chinese + * translation) : https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf * * TODO : we need a complete datasheet and protocol reference! * */ -Cst816S::Cst816S(TwiMaster &twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, twiAddress{twiAddress} { - +Cst816S::Cst816S(TwiMaster& twiMaster, uint8_t twiAddress) : twiMaster {twiMaster}, twiAddress {twiAddress} { } void Cst816S::Init() { @@ -32,7 +32,7 @@ void Cst816S::Init() { vTaskDelay(5); twiMaster.Read(twiAddress, 0xa7, &dummy, 1); vTaskDelay(5); - + /* [2] EnConLR - Continuous operation can slide around [1] EnConUD - Slide up and down to enable continuous operation @@ -40,23 +40,22 @@ void Cst816S::Init() { */ static constexpr uint8_t motionMask = 0b00000101; twiMaster.Write(twiAddress, 0xEC, &motionMask, 1); - } - Cst816S::TouchInfos Cst816S::GetTouchInfo() { Cst816S::TouchInfos info; auto ret = twiMaster.Read(twiAddress, 0, touchData, sizeof(touchData)); - if(ret != TwiMaster::ErrorCodes::NoError) return {}; + if (ret != TwiMaster::ErrorCodes::NoError) + return {}; auto nbTouchPoints = touchData[2] & 0x0f; uint8_t i = 0; uint8_t pointId = (touchData[touchIdIndex + (touchStep * i)]) >> 4; - if(nbTouchPoints == 0 && pointId == lastTouchId) return info; - + if (nbTouchPoints == 0 && pointId == lastTouchId) + return info; info.isTouch = true; diff --git a/src/drivers/Cst816s.h b/src/drivers/Cst816s.h index 63007860..7664a83e 100644 --- a/src/drivers/Cst816s.h +++ b/src/drivers/Cst816s.h @@ -5,57 +5,58 @@ namespace Pinetime { namespace Drivers { class Cst816S { - public : - enum class Gestures : uint8_t { - None = 0x00, - SlideDown = 0x01, - SlideUp = 0x02, - SlideLeft = 0x03, - SlideRight = 0x04, - SingleTap = 0x05, - DoubleTap = 0x0B, - LongPress = 0x0C - }; - struct TouchInfos { - uint16_t x = 0; - uint16_t y = 0; - uint8_t action = 0; - uint8_t finger = 0; - uint8_t pressure = 0; - uint8_t area = 0; - Gestures gesture = Gestures::None; - bool isTouch = false; - }; + public: + enum class Gestures : uint8_t { + None = 0x00, + SlideDown = 0x01, + SlideUp = 0x02, + SlideLeft = 0x03, + SlideRight = 0x04, + SingleTap = 0x05, + DoubleTap = 0x0B, + LongPress = 0x0C + }; + struct TouchInfos { + uint16_t x = 0; + uint16_t y = 0; + uint8_t action = 0; + uint8_t finger = 0; + uint8_t pressure = 0; + uint8_t area = 0; + Gestures gesture = Gestures::None; + bool isTouch = false; + }; - Cst816S(TwiMaster& twiMaster, uint8_t twiAddress); - Cst816S(const Cst816S&) = delete; - Cst816S& operator=(const Cst816S&) = delete; - Cst816S(Cst816S&&) = delete; - Cst816S& operator=(Cst816S&&) = delete; + Cst816S(TwiMaster& twiMaster, uint8_t twiAddress); + Cst816S(const Cst816S&) = delete; + Cst816S& operator=(const Cst816S&) = delete; + Cst816S(Cst816S&&) = delete; + Cst816S& operator=(Cst816S&&) = delete; - void Init(); - TouchInfos GetTouchInfo(); - void Sleep(); - void Wakeup(); - private: - static constexpr uint8_t pinIrq = 28; - static constexpr uint8_t pinReset = 10; - static constexpr uint8_t lastTouchId = 0x0f; - static constexpr uint8_t touchPointNumIndex = 2; - static constexpr uint8_t touchMiscIndex = 8; - static constexpr uint8_t touchXYIndex = 7; - static constexpr uint8_t touchEventIndex = 3; - static constexpr uint8_t touchXHighIndex = 3; - static constexpr uint8_t touchXLowIndex = 4; - static constexpr uint8_t touchYHighIndex = 5; - static constexpr uint8_t touchYLowIndex = 6; - static constexpr uint8_t touchIdIndex = 5; - static constexpr uint8_t touchStep = 6; - static constexpr uint8_t gestureIndex = 1; + void Init(); + TouchInfos GetTouchInfo(); + void Sleep(); + void Wakeup(); - uint8_t touchData[10]; - TwiMaster& twiMaster; - uint8_t twiAddress; + private: + static constexpr uint8_t pinIrq = 28; + static constexpr uint8_t pinReset = 10; + static constexpr uint8_t lastTouchId = 0x0f; + static constexpr uint8_t touchPointNumIndex = 2; + static constexpr uint8_t touchMiscIndex = 8; + static constexpr uint8_t touchXYIndex = 7; + static constexpr uint8_t touchEventIndex = 3; + static constexpr uint8_t touchXHighIndex = 3; + static constexpr uint8_t touchXLowIndex = 4; + static constexpr uint8_t touchYHighIndex = 5; + static constexpr uint8_t touchYLowIndex = 6; + static constexpr uint8_t touchIdIndex = 5; + static constexpr uint8_t touchStep = 6; + static constexpr uint8_t gestureIndex = 1; + + uint8_t touchData[10]; + TwiMaster& twiMaster; + uint8_t twiAddress; }; } diff --git a/src/drivers/DebugPins.cpp b/src/drivers/DebugPins.cpp index 8457ba5f..56fd1458 100644 --- a/src/drivers/DebugPins.cpp +++ b/src/drivers/DebugPins.cpp @@ -19,31 +19,27 @@ void debugpins_init() { nrf_gpio_pin_clear(DebugPin4); } void debugpins_set(debugpins_pins pin) { - nrf_gpio_pin_set((uint32_t)(pin)); + nrf_gpio_pin_set((uint32_t) (pin)); } void debugpins_clear(debugpins_pins pin) { - nrf_gpio_pin_clear((uint32_t)(pin)); + nrf_gpio_pin_clear((uint32_t) (pin)); } void debugpins_pulse(debugpins_pins pin) { - nrf_gpio_pin_set((uint32_t)(pin)); - nrf_gpio_pin_clear((uint32_t)(pin)); + nrf_gpio_pin_set((uint32_t) (pin)); + nrf_gpio_pin_clear((uint32_t) (pin)); } #else void debugpins_init() { - } void debugpins_set(debugpins_pins pin) { - } void debugpins_clear(debugpins_pins pin) { - } void debugpins_pulse(debugpins_pins pin) { - } #endif \ No newline at end of file diff --git a/src/drivers/DebugPins.h b/src/drivers/DebugPins.h index cb20bac5..b30cd222 100644 --- a/src/drivers/DebugPins.h +++ b/src/drivers/DebugPins.h @@ -22,4 +22,3 @@ void debugpins_pulse(debugpins_pins pin); #ifdef __cplusplus } #endif - diff --git a/src/drivers/Hrs3300.cpp b/src/drivers/Hrs3300.cpp index dc9f9cd8..edb9e81d 100644 --- a/src/drivers/Hrs3300.cpp +++ b/src/drivers/Hrs3300.cpp @@ -16,8 +16,7 @@ using namespace Pinetime::Drivers; /** Driver for the HRS3300 heart rate sensor. * Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/drivers/hrs3300.py */ -Hrs3300::Hrs3300(TwiMaster &twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, twiAddress{twiAddress} { - +Hrs3300::Hrs3300(TwiMaster& twiMaster, uint8_t twiAddress) : twiMaster {twiMaster}, twiAddress {twiAddress} { } void Hrs3300::Init() { @@ -73,7 +72,7 @@ void Hrs3300::SetGain(uint8_t gain) { constexpr uint8_t maxGain = 64U; gain = std::min(gain, maxGain); uint8_t hgain = 0; - while((1 << hgain) < gain){ + while ((1 << hgain) < gain) { ++hgain; } @@ -93,25 +92,14 @@ void Hrs3300::SetDrive(uint8_t drive) { void Hrs3300::WriteRegister(uint8_t reg, uint8_t data) { auto ret = twiMaster.Write(twiAddress, reg, &data, 1); - if(ret != TwiMaster::ErrorCodes::NoError) + if (ret != TwiMaster::ErrorCodes::NoError) NRF_LOG_INFO("WRITE ERROR"); } uint8_t Hrs3300::ReadRegister(uint8_t reg) { uint8_t value; auto ret = twiMaster.Read(twiAddress, reg, &value, 1); - if(ret != TwiMaster::ErrorCodes::NoError) + if (ret != TwiMaster::ErrorCodes::NoError) NRF_LOG_INFO("READ ERROR"); return value; } - - - - - - - - - - - diff --git a/src/drivers/Hrs3300.h b/src/drivers/Hrs3300.h index c34d55c6..cf87f378 100644 --- a/src/drivers/Hrs3300.h +++ b/src/drivers/Hrs3300.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Drivers { class Hrs3300 { - public: + public: enum class Registers : uint8_t { Id = 0x00, Enable = 0x01, @@ -35,13 +35,12 @@ namespace Pinetime { void SetGain(uint8_t gain); void SetDrive(uint8_t drive); - private: + private: TwiMaster& twiMaster; uint8_t twiAddress; void WriteRegister(uint8_t reg, uint8_t data); uint8_t ReadRegister(uint8_t reg); - }; } } diff --git a/src/drivers/InternalFlash.cpp b/src/drivers/InternalFlash.cpp index 33c14473..0840c6e5 100644 --- a/src/drivers/InternalFlash.cpp +++ b/src/drivers/InternalFlash.cpp @@ -25,7 +25,7 @@ void InternalFlash::WriteWord(uint32_t address, uint32_t value) { __DSB(); // Write word - *(uint32_t*)address = value; + *(uint32_t*) address = value; Wait(); // Disable write @@ -35,5 +35,7 @@ void InternalFlash::WriteWord(uint32_t address, uint32_t value) { } void InternalFlash::Wait() { - while (NRF_NVMC->READY == NVMC_READY_READY_Busy) {;} + while (NRF_NVMC->READY == NVMC_READY_READY_Busy) { + ; + } } diff --git a/src/drivers/InternalFlash.h b/src/drivers/InternalFlash.h index fd25bf46..cbf9a20b 100644 --- a/src/drivers/InternalFlash.h +++ b/src/drivers/InternalFlash.h @@ -5,10 +5,11 @@ namespace Pinetime { namespace Drivers { class InternalFlash { - public: + public: static void ErasePage(uint32_t address); static void WriteWord(uint32_t address, uint32_t value); - private: + + private: static inline void Wait(); }; } diff --git a/src/drivers/Spi.cpp b/src/drivers/Spi.cpp index 0e7de4d5..a55d2888 100644 --- a/src/drivers/Spi.cpp +++ b/src/drivers/Spi.cpp @@ -4,17 +4,16 @@ using namespace Pinetime::Drivers; -Spi::Spi(SpiMaster& spiMaster, uint8_t pinCsn) : - spiMaster{spiMaster}, pinCsn{pinCsn} { +Spi::Spi(SpiMaster& spiMaster, uint8_t pinCsn) : spiMaster {spiMaster}, pinCsn {pinCsn} { nrf_gpio_cfg_output(pinCsn); nrf_gpio_pin_set(pinCsn); } -bool Spi::Write(const uint8_t *data, size_t size) { +bool Spi::Write(const uint8_t* data, size_t size) { return spiMaster.Write(pinCsn, data, size); } -bool Spi::Read(uint8_t* cmd, size_t cmdSize, uint8_t *data, size_t dataSize) { +bool Spi::Read(uint8_t* cmd, size_t cmdSize, uint8_t* data, size_t dataSize) { return spiMaster.Read(pinCsn, cmd, cmdSize, data, dataSize); } @@ -23,7 +22,7 @@ void Spi::Sleep() { NRF_LOG_INFO("[SPI] Sleep") } -bool Spi::WriteCmdAndBuffer(const uint8_t *cmd, size_t cmdSize, const uint8_t *data, size_t dataSize) { +bool Spi::WriteCmdAndBuffer(const uint8_t* cmd, size_t cmdSize, const uint8_t* data, size_t dataSize) { return spiMaster.WriteCmdAndBuffer(pinCsn, cmd, cmdSize, data, dataSize); } @@ -37,5 +36,3 @@ void Spi::Wakeup() { nrf_gpio_pin_set(pinCsn); NRF_LOG_INFO("[SPI] Wakeup") } - - diff --git a/src/drivers/Spi.h b/src/drivers/Spi.h index e3cab459..27000755 100644 --- a/src/drivers/Spi.h +++ b/src/drivers/Spi.h @@ -6,23 +6,23 @@ namespace Pinetime { namespace Drivers { class Spi { - public: - Spi(SpiMaster& spiMaster, uint8_t pinCsn); - Spi(const Spi&) = delete; - Spi& operator=(const Spi&) = delete; - Spi(Spi&&) = delete; - Spi& operator=(Spi&&) = delete; + public: + Spi(SpiMaster& spiMaster, uint8_t pinCsn); + Spi(const Spi&) = delete; + Spi& operator=(const Spi&) = delete; + Spi(Spi&&) = delete; + Spi& operator=(Spi&&) = delete; - bool Init(); - bool Write(const uint8_t* data, size_t size); - bool Read(uint8_t* cmd, size_t cmdSize, uint8_t *data, size_t dataSize); - bool WriteCmdAndBuffer(const uint8_t* cmd, size_t cmdSize, const uint8_t *data, size_t dataSize); - void Sleep(); - void Wakeup(); + bool Init(); + bool Write(const uint8_t* data, size_t size); + bool Read(uint8_t* cmd, size_t cmdSize, uint8_t* data, size_t dataSize); + bool WriteCmdAndBuffer(const uint8_t* cmd, size_t cmdSize, const uint8_t* data, size_t dataSize); + void Sleep(); + void Wakeup(); - private: - SpiMaster& spiMaster; - uint8_t pinCsn; + private: + SpiMaster& spiMaster; + uint8_t pinCsn; }; } } diff --git a/src/drivers/SpiMaster.cpp b/src/drivers/SpiMaster.cpp index 5f7c0642..34fcc08a 100644 --- a/src/drivers/SpiMaster.cpp +++ b/src/drivers/SpiMaster.cpp @@ -6,8 +6,7 @@ using namespace Pinetime::Drivers; -SpiMaster::SpiMaster(const SpiMaster::SpiModule spi, const SpiMaster::Parameters ¶ms) : - spi{spi}, params{params} { +SpiMaster::SpiMaster(const SpiMaster::SpiModule spi, const SpiMaster::Parameters& params) : spi {spi}, params {params} { mutex = xSemaphoreCreateBinary(); ASSERT(mutex != NULL); } @@ -19,39 +18,58 @@ bool SpiMaster::Init() { nrf_gpio_pin_clear(params.pinMOSI); nrf_gpio_cfg_output(params.pinMOSI); nrf_gpio_cfg_input(params.pinMISO, NRF_GPIO_PIN_NOPULL); -// nrf_gpio_cfg_output(params.pinCSN); -// pinCsn = params.pinCSN; - - switch(spi) { - case SpiModule::SPI0: spiBaseAddress = NRF_SPIM0; break; - case SpiModule::SPI1: spiBaseAddress = NRF_SPIM1; break; - default: return false; + // nrf_gpio_cfg_output(params.pinCSN); + // pinCsn = params.pinCSN; + + switch (spi) { + case SpiModule::SPI0: + spiBaseAddress = NRF_SPIM0; + break; + case SpiModule::SPI1: + spiBaseAddress = NRF_SPIM1; + break; + default: + return false; } /* Configure pins, frequency and mode */ - spiBaseAddress->PSELSCK = params.pinSCK; + spiBaseAddress->PSELSCK = params.pinSCK; spiBaseAddress->PSELMOSI = params.pinMOSI; spiBaseAddress->PSELMISO = params.pinMISO; uint32_t frequency; - switch(params.Frequency) { - case Frequencies::Freq8Mhz: frequency = 0x80000000; break; - default: return false; + switch (params.Frequency) { + case Frequencies::Freq8Mhz: + frequency = 0x80000000; + break; + default: + return false; } spiBaseAddress->FREQUENCY = frequency; uint32_t regConfig = 0; - switch(params.bitOrder) { - case BitOrder::Msb_Lsb: break; - case BitOrder::Lsb_Msb: regConfig = 1; - default: return false; + switch (params.bitOrder) { + case BitOrder::Msb_Lsb: + break; + case BitOrder::Lsb_Msb: + regConfig = 1; + default: + return false; } - switch(params.mode) { - case Modes::Mode0: break; - case Modes::Mode1: regConfig |= (0x01 << 1); break; - case Modes::Mode2: regConfig |= (0x02 << 1); break; - case Modes::Mode3: regConfig |= (0x03 << 1); break; - default: return false; + switch (params.mode) { + case Modes::Mode0: + break; + case Modes::Mode1: + regConfig |= (0x01 << 1); + break; + case Modes::Mode2: + regConfig |= (0x02 << 1); + break; + case Modes::Mode3: + regConfig |= (0x03 << 1); + break; + default: + return false; } spiBaseAddress->CONFIG = regConfig; @@ -59,24 +77,22 @@ bool SpiMaster::Init() { spiBaseAddress->EVENTS_ENDTX = 0; spiBaseAddress->EVENTS_END = 0; - spiBaseAddress->INTENSET = ((unsigned)1 << (unsigned)6); - spiBaseAddress->INTENSET = ((unsigned)1 << (unsigned)1); - spiBaseAddress->INTENSET = ((unsigned)1 << (unsigned)19); + spiBaseAddress->INTENSET = ((unsigned) 1 << (unsigned) 6); + spiBaseAddress->INTENSET = ((unsigned) 1 << (unsigned) 1); + spiBaseAddress->INTENSET = ((unsigned) 1 << (unsigned) 19); spiBaseAddress->ENABLE = (SPIM_ENABLE_ENABLE_Enabled << SPIM_ENABLE_ENABLE_Pos); - NRFX_IRQ_PRIORITY_SET(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQn,2); + NRFX_IRQ_PRIORITY_SET(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQn, 2); NRFX_IRQ_ENABLE(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQn); xSemaphoreGive(mutex); return true; } - -void SpiMaster::SetupWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_channel, uint32_t gpiote_channel) { +void SpiMaster::SetupWorkaroundForFtpan58(NRF_SPIM_Type* spim, uint32_t ppi_channel, uint32_t gpiote_channel) { // Create an event when SCK toggles. - NRF_GPIOTE->CONFIG[gpiote_channel] = (GPIOTE_CONFIG_MODE_Event << GPIOTE_CONFIG_MODE_Pos) | - (spim->PSEL.SCK << GPIOTE_CONFIG_PSEL_Pos) | + NRF_GPIOTE->CONFIG[gpiote_channel] = (GPIOTE_CONFIG_MODE_Event << GPIOTE_CONFIG_MODE_Pos) | (spim->PSEL.SCK << GPIOTE_CONFIG_PSEL_Pos) | (GPIOTE_CONFIG_POLARITY_Toggle << GPIOTE_CONFIG_POLARITY_Pos); // Stop the spim instance when SCK toggles. @@ -86,29 +102,29 @@ void SpiMaster::SetupWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_chan spiBaseAddress->EVENTS_END = 0; // Disable IRQ - spim->INTENCLR = (1<<6); - spim->INTENCLR = (1<<1); - spim->INTENCLR = (1<<19); + spim->INTENCLR = (1 << 6); + spim->INTENCLR = (1 << 1); + spim->INTENCLR = (1 << 19); } -void SpiMaster::DisableWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_channel, uint32_t gpiote_channel) { +void SpiMaster::DisableWorkaroundForFtpan58(NRF_SPIM_Type* spim, uint32_t ppi_channel, uint32_t gpiote_channel) { NRF_GPIOTE->CONFIG[gpiote_channel] = 0; NRF_PPI->CH[ppi_channel].EEP = 0; NRF_PPI->CH[ppi_channel].TEP = 0; NRF_PPI->CHENSET = ppi_channel; spiBaseAddress->EVENTS_END = 0; - spim->INTENSET = (1<<6); - spim->INTENSET = (1<<1); - spim->INTENSET = (1<<19); + spim->INTENSET = (1 << 6); + spim->INTENSET = (1 << 1); + spim->INTENSET = (1 << 19); } void SpiMaster::OnEndEvent() { - if(currentBufferAddr == 0) { + if (currentBufferAddr == 0) { return; } auto s = currentBufferSize; - if(s > 0) { + if (s > 0) { auto currentSize = std::min((size_t) 255, s); PrepareTx(currentBufferAddr, currentSize); currentBufferAddr += currentSize; @@ -116,17 +132,17 @@ void SpiMaster::OnEndEvent() { spiBaseAddress->TASKS_START = 1; } else { - if(taskToNotify != nullptr) { - BaseType_t xHigherPriorityTaskWoken = pdFALSE; - vTaskNotifyGiveFromISR(taskToNotify, &xHigherPriorityTaskWoken); - portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - } - - nrf_gpio_pin_set(this->pinCsn); - currentBufferAddr = 0; + if (taskToNotify != nullptr) { BaseType_t xHigherPriorityTaskWoken = pdFALSE; - xSemaphoreGiveFromISR(mutex, &xHigherPriorityTaskWoken); + vTaskNotifyGiveFromISR(taskToNotify, &xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken); + } + + nrf_gpio_pin_set(this->pinCsn); + currentBufferAddr = 0; + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + xSemaphoreGiveFromISR(mutex, &xHigherPriorityTaskWoken); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } } @@ -143,7 +159,10 @@ void SpiMaster::PrepareTx(const volatile uint32_t bufferAddress, const volatile spiBaseAddress->EVENTS_END = 0; } -void SpiMaster::PrepareRx(const volatile uint32_t cmdAddress, const volatile size_t cmdSize, const volatile uint32_t bufferAddress, const volatile size_t size) { +void SpiMaster::PrepareRx(const volatile uint32_t cmdAddress, + const volatile size_t cmdSize, + const volatile uint32_t bufferAddress, + const volatile size_t size) { spiBaseAddress->TXD.PTR = 0; spiBaseAddress->TXD.MAXCNT = 0; spiBaseAddress->TXD.LIST = 0; @@ -153,35 +172,35 @@ void SpiMaster::PrepareRx(const volatile uint32_t cmdAddress, const volatile siz spiBaseAddress->EVENTS_END = 0; } - -bool SpiMaster::Write(uint8_t pinCsn, const uint8_t *data, size_t size) { - if(data == nullptr) return false; +bool SpiMaster::Write(uint8_t pinCsn, const uint8_t* data, size_t size) { + if (data == nullptr) + return false; auto ok = xSemaphoreTake(mutex, portMAX_DELAY); ASSERT(ok == true); taskToNotify = xTaskGetCurrentTaskHandle(); - this->pinCsn = pinCsn; - if(size == 1) { - SetupWorkaroundForFtpan58(spiBaseAddress, 0,0); + if (size == 1) { + SetupWorkaroundForFtpan58(spiBaseAddress, 0, 0); } else { DisableWorkaroundForFtpan58(spiBaseAddress, 0, 0); } nrf_gpio_pin_clear(this->pinCsn); - currentBufferAddr = (uint32_t)data; + currentBufferAddr = (uint32_t) data; currentBufferSize = size; - auto currentSize = std::min((size_t)255, (size_t)currentBufferSize); + auto currentSize = std::min((size_t) 255, (size_t) currentBufferSize); PrepareTx(currentBufferAddr, currentSize); currentBufferSize -= currentSize; currentBufferAddr += currentSize; spiBaseAddress->TASKS_START = 1; - if(size == 1) { - while (spiBaseAddress->EVENTS_END == 0); + if (size == 1) { + while (spiBaseAddress->EVENTS_END == 0) + ; nrf_gpio_pin_set(this->pinCsn); currentBufferAddr = 0; xSemaphoreGive(mutex); @@ -190,41 +209,41 @@ bool SpiMaster::Write(uint8_t pinCsn, const uint8_t *data, size_t size) { return true; } -bool SpiMaster::Read(uint8_t pinCsn, uint8_t* cmd, size_t cmdSize, uint8_t *data, size_t dataSize) { - xSemaphoreTake(mutex, portMAX_DELAY); - - taskToNotify = nullptr; +bool SpiMaster::Read(uint8_t pinCsn, uint8_t* cmd, size_t cmdSize, uint8_t* data, size_t dataSize) { + xSemaphoreTake(mutex, portMAX_DELAY); - this->pinCsn = pinCsn; - DisableWorkaroundForFtpan58(spiBaseAddress, 0,0); - spiBaseAddress->INTENCLR = (1<<6); - spiBaseAddress->INTENCLR = (1<<1); - spiBaseAddress->INTENCLR = (1<<19); + taskToNotify = nullptr; - nrf_gpio_pin_clear(this->pinCsn); + this->pinCsn = pinCsn; + DisableWorkaroundForFtpan58(spiBaseAddress, 0, 0); + spiBaseAddress->INTENCLR = (1 << 6); + spiBaseAddress->INTENCLR = (1 << 1); + spiBaseAddress->INTENCLR = (1 << 19); + nrf_gpio_pin_clear(this->pinCsn); - currentBufferAddr = 0; - currentBufferSize = 0; + currentBufferAddr = 0; + currentBufferSize = 0; - PrepareTx((uint32_t)cmd, cmdSize); - spiBaseAddress->TASKS_START = 1; - while (spiBaseAddress->EVENTS_END == 0); + PrepareTx((uint32_t) cmd, cmdSize); + spiBaseAddress->TASKS_START = 1; + while (spiBaseAddress->EVENTS_END == 0) + ; - PrepareRx((uint32_t)cmd, cmdSize, (uint32_t)data, dataSize); - spiBaseAddress->TASKS_START = 1; + PrepareRx((uint32_t) cmd, cmdSize, (uint32_t) data, dataSize); + spiBaseAddress->TASKS_START = 1; - while (spiBaseAddress->EVENTS_END == 0); - nrf_gpio_pin_set(this->pinCsn); + while (spiBaseAddress->EVENTS_END == 0) + ; + nrf_gpio_pin_set(this->pinCsn); - xSemaphoreGive(mutex); + xSemaphoreGive(mutex); - return true; + return true; } - void SpiMaster::Sleep() { - while(spiBaseAddress->ENABLE != 0) { + while (spiBaseAddress->ENABLE != 0) { spiBaseAddress->ENABLE = (SPIM_ENABLE_ENABLE_Disabled << SPIM_ENABLE_ENABLE_Pos); } nrf_gpio_cfg_default(params.pinSCK); @@ -239,37 +258,35 @@ void SpiMaster::Wakeup() { NRF_LOG_INFO("[SPIMASTER] Wakeup"); } -bool SpiMaster::WriteCmdAndBuffer(uint8_t pinCsn, const uint8_t *cmd, size_t cmdSize, const uint8_t *data, size_t dataSize) { +bool SpiMaster::WriteCmdAndBuffer(uint8_t pinCsn, const uint8_t* cmd, size_t cmdSize, const uint8_t* data, size_t dataSize) { xSemaphoreTake(mutex, portMAX_DELAY); taskToNotify = nullptr; this->pinCsn = pinCsn; - DisableWorkaroundForFtpan58(spiBaseAddress, 0,0); - spiBaseAddress->INTENCLR = (1<<6); - spiBaseAddress->INTENCLR = (1<<1); - spiBaseAddress->INTENCLR = (1<<19); + DisableWorkaroundForFtpan58(spiBaseAddress, 0, 0); + spiBaseAddress->INTENCLR = (1 << 6); + spiBaseAddress->INTENCLR = (1 << 1); + spiBaseAddress->INTENCLR = (1 << 19); nrf_gpio_pin_clear(this->pinCsn); - currentBufferAddr = 0; currentBufferSize = 0; - PrepareTx((uint32_t)cmd, cmdSize); + PrepareTx((uint32_t) cmd, cmdSize); spiBaseAddress->TASKS_START = 1; - while (spiBaseAddress->EVENTS_END == 0); + while (spiBaseAddress->EVENTS_END == 0) + ; - PrepareTx((uint32_t)data, dataSize); + PrepareTx((uint32_t) data, dataSize); spiBaseAddress->TASKS_START = 1; - while (spiBaseAddress->EVENTS_END == 0); + while (spiBaseAddress->EVENTS_END == 0) + ; nrf_gpio_pin_set(this->pinCsn); xSemaphoreGive(mutex); return true; } - - - diff --git a/src/drivers/SpiMaster.h b/src/drivers/SpiMaster.h index cb79d90c..aa037504 100644 --- a/src/drivers/SpiMaster.h +++ b/src/drivers/SpiMaster.h @@ -9,54 +9,58 @@ namespace Pinetime { namespace Drivers { class SpiMaster { - public:; - enum class SpiModule : uint8_t {SPI0, SPI1}; - enum class BitOrder : uint8_t {Msb_Lsb, Lsb_Msb}; - enum class Modes : uint8_t {Mode0, Mode1, Mode2, Mode3}; - enum class Frequencies : uint8_t {Freq8Mhz}; - struct Parameters { - BitOrder bitOrder; - Modes mode; - Frequencies Frequency; - uint8_t pinSCK; - uint8_t pinMOSI; - uint8_t pinMISO; - }; - - SpiMaster(const SpiModule spi, const Parameters& params); - SpiMaster(const SpiMaster&) = delete; - SpiMaster& operator=(const SpiMaster&) = delete; - SpiMaster(SpiMaster&&) = delete; - SpiMaster& operator=(SpiMaster&&) = delete; - - bool Init(); - bool Write(uint8_t pinCsn, const uint8_t* data, size_t size); - bool Read(uint8_t pinCsn, uint8_t* cmd, size_t cmdSize, uint8_t *data, size_t dataSize); - - bool WriteCmdAndBuffer(uint8_t pinCsn, const uint8_t* cmd, size_t cmdSize, const uint8_t *data, size_t dataSize); - - void OnStartedEvent(); - void OnEndEvent(); - - void Sleep(); - void Wakeup(); - - private: - void SetupWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_channel, uint32_t gpiote_channel); - void DisableWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_channel, uint32_t gpiote_channel); - void PrepareTx(const volatile uint32_t bufferAddress, const volatile size_t size); - void PrepareRx(const volatile uint32_t cmdAddress, const volatile size_t cmdSize, const volatile uint32_t bufferAddress, const volatile size_t size); - - NRF_SPIM_Type * spiBaseAddress; - uint8_t pinCsn; - - SpiMaster::SpiModule spi; - SpiMaster::Parameters params; - - volatile uint32_t currentBufferAddr = 0; - volatile size_t currentBufferSize = 0; - volatile TaskHandle_t taskToNotify; - SemaphoreHandle_t mutex; + public: + ; + enum class SpiModule : uint8_t { SPI0, SPI1 }; + enum class BitOrder : uint8_t { Msb_Lsb, Lsb_Msb }; + enum class Modes : uint8_t { Mode0, Mode1, Mode2, Mode3 }; + enum class Frequencies : uint8_t { Freq8Mhz }; + struct Parameters { + BitOrder bitOrder; + Modes mode; + Frequencies Frequency; + uint8_t pinSCK; + uint8_t pinMOSI; + uint8_t pinMISO; + }; + + SpiMaster(const SpiModule spi, const Parameters& params); + SpiMaster(const SpiMaster&) = delete; + SpiMaster& operator=(const SpiMaster&) = delete; + SpiMaster(SpiMaster&&) = delete; + SpiMaster& operator=(SpiMaster&&) = delete; + + bool Init(); + bool Write(uint8_t pinCsn, const uint8_t* data, size_t size); + bool Read(uint8_t pinCsn, uint8_t* cmd, size_t cmdSize, uint8_t* data, size_t dataSize); + + bool WriteCmdAndBuffer(uint8_t pinCsn, const uint8_t* cmd, size_t cmdSize, const uint8_t* data, size_t dataSize); + + void OnStartedEvent(); + void OnEndEvent(); + + void Sleep(); + void Wakeup(); + + private: + void SetupWorkaroundForFtpan58(NRF_SPIM_Type* spim, uint32_t ppi_channel, uint32_t gpiote_channel); + void DisableWorkaroundForFtpan58(NRF_SPIM_Type* spim, uint32_t ppi_channel, uint32_t gpiote_channel); + void PrepareTx(const volatile uint32_t bufferAddress, const volatile size_t size); + void PrepareRx(const volatile uint32_t cmdAddress, + const volatile size_t cmdSize, + const volatile uint32_t bufferAddress, + const volatile size_t size); + + NRF_SPIM_Type* spiBaseAddress; + uint8_t pinCsn; + + SpiMaster::SpiModule spi; + SpiMaster::Parameters params; + + volatile uint32_t currentBufferAddr = 0; + volatile size_t currentBufferSize = 0; + volatile TaskHandle_t taskToNotify; + SemaphoreHandle_t mutex; }; } } diff --git a/src/drivers/SpiNorFlash.cpp b/src/drivers/SpiNorFlash.cpp index 3ea5afe7..068d1d02 100644 --- a/src/drivers/SpiNorFlash.cpp +++ b/src/drivers/SpiNorFlash.cpp @@ -6,17 +6,16 @@ using namespace Pinetime::Drivers; -SpiNorFlash::SpiNorFlash(Spi& spi) : spi{spi} { - +SpiNorFlash::SpiNorFlash(Spi& spi) : spi {spi} { } void SpiNorFlash::Init() { device_id = ReadIdentificaion(); - NRF_LOG_INFO("[SpiNorFlash] Manufacturer : %d, Memory type : %d, memory density : %d", device_id.manufacturer, device_id.type, device_id.density); + NRF_LOG_INFO( + "[SpiNorFlash] Manufacturer : %d, Memory type : %d, memory density : %d", device_id.manufacturer, device_id.type, device_id.density); } void SpiNorFlash::Uninit() { - } void SpiNorFlash::Sleep() { @@ -30,12 +29,11 @@ void SpiNorFlash::Wakeup() { static constexpr uint8_t cmdSize = 4; uint8_t cmd[cmdSize] = {static_cast(Commands::ReleaseFromDeepPowerDown), 0x01, 0x02, 0x03}; uint8_t id = 0; - spi.Read(reinterpret_cast(&cmd), cmdSize, &id, 1); - auto devId = device_id = ReadIdentificaion(); - if(devId.type != device_id.type) { + spi.Read(reinterpret_cast(&cmd), cmdSize, &id, 1); + auto devId = device_id = ReadIdentificaion(); + if (devId.type != device_id.type) { NRF_LOG_INFO("[SpiNorFlash] ID on Wakeup: Failed"); - } - else { + } else { NRF_LOG_INFO("[SpiNorFlash] ID on Wakeup: %d", id); } NRF_LOG_INFO("[SpiNorFlash] Wakeup") @@ -44,7 +42,7 @@ void SpiNorFlash::Wakeup() { SpiNorFlash::Identification SpiNorFlash::ReadIdentificaion() { auto cmd = static_cast(Commands::ReadIdentification); Identification identification; - spi.Read(&cmd, 1, reinterpret_cast(&identification), sizeof(Identification)); + spi.Read(&cmd, 1, reinterpret_cast(&identification), sizeof(Identification)); return identification; } @@ -70,11 +68,10 @@ uint8_t SpiNorFlash::ReadConfigurationRegister() { return status; } -void SpiNorFlash::Read(uint32_t address, uint8_t *buffer, size_t size) { +void SpiNorFlash::Read(uint32_t address, uint8_t* buffer, size_t size) { static constexpr uint8_t cmdSize = 4; - uint8_t cmd[cmdSize] = { static_cast(Commands::Read), (uint8_t)(address >> 16U), (uint8_t)(address >> 8U), - (uint8_t)address }; - spi.Read(reinterpret_cast(&cmd), cmdSize, buffer, size); + uint8_t cmd[cmdSize] = {static_cast(Commands::Read), (uint8_t) (address >> 16U), (uint8_t) (address >> 8U), (uint8_t) address}; + spi.Read(reinterpret_cast(&cmd), cmdSize, buffer, size); } void SpiNorFlash::WriteEnable() { @@ -84,15 +81,19 @@ void SpiNorFlash::WriteEnable() { void SpiNorFlash::SectorErase(uint32_t sectorAddress) { static constexpr uint8_t cmdSize = 4; - uint8_t cmd[cmdSize] = { static_cast(Commands::SectorErase), (uint8_t)(sectorAddress >> 16U), (uint8_t)(sectorAddress >> 8U), - (uint8_t)sectorAddress }; + uint8_t cmd[cmdSize] = {static_cast(Commands::SectorErase), + (uint8_t) (sectorAddress >> 16U), + (uint8_t) (sectorAddress >> 8U), + (uint8_t) sectorAddress}; WriteEnable(); - while(!WriteEnabled()) vTaskDelay(1); + while (!WriteEnabled()) + vTaskDelay(1); - spi.Read(reinterpret_cast(&cmd), cmdSize, nullptr, 0); + spi.Read(reinterpret_cast(&cmd), cmdSize, nullptr, 0); - while(WriteInProgress()) vTaskDelay(1); + while (WriteInProgress()) + vTaskDelay(1); } uint8_t SpiNorFlash::ReadSecurityRegister() { @@ -110,29 +111,29 @@ bool SpiNorFlash::EraseFailed() { return (ReadSecurityRegister() & 0x40u) == 0x40u; } -void SpiNorFlash::Write(uint32_t address, const uint8_t *buffer, size_t size) { +void SpiNorFlash::Write(uint32_t address, const uint8_t* buffer, size_t size) { static constexpr uint8_t cmdSize = 4; size_t len = size; uint32_t addr = address; const uint8_t* b = buffer; - while(len > 0) { + while (len > 0) { uint32_t pageLimit = (addr & ~(pageSize - 1u)) + pageSize; - uint32_t toWrite = pageLimit - addr > len ? len : pageLimit - addr; + uint32_t toWrite = pageLimit - addr > len ? len : pageLimit - addr; - uint8_t cmd[cmdSize] = { static_cast(Commands::PageProgram), (uint8_t)(addr >> 16U), (uint8_t)(addr >> 8U), - (uint8_t)addr }; + uint8_t cmd[cmdSize] = {static_cast(Commands::PageProgram), (uint8_t) (addr >> 16U), (uint8_t) (addr >> 8U), (uint8_t) addr}; WriteEnable(); - while(!WriteEnabled()) vTaskDelay(1); + while (!WriteEnabled()) + vTaskDelay(1); spi.WriteCmdAndBuffer(cmd, cmdSize, b, toWrite); - while(WriteInProgress()) vTaskDelay(1); + while (WriteInProgress()) + vTaskDelay(1); addr += toWrite; b += toWrite; len -= toWrite; } - } diff --git a/src/drivers/SpiNorFlash.h b/src/drivers/SpiNorFlash.h index 7702d434..77a470b7 100644 --- a/src/drivers/SpiNorFlash.h +++ b/src/drivers/SpiNorFlash.h @@ -6,58 +6,55 @@ namespace Pinetime { namespace Drivers { class Spi; class SpiNorFlash { - public: - explicit SpiNorFlash(Spi& spi); - SpiNorFlash(const SpiNorFlash&) = delete; - SpiNorFlash& operator=(const SpiNorFlash&) = delete; - SpiNorFlash(SpiNorFlash&&) = delete; - SpiNorFlash& operator=(SpiNorFlash&&) = delete; - - typedef struct __attribute__((packed)) { - uint8_t manufacturer = 0; - uint8_t type = 0; - uint8_t density = 0; - } Identification; - - Identification ReadIdentificaion(); - uint8_t ReadStatusRegister(); - bool WriteInProgress(); - bool WriteEnabled(); - uint8_t ReadConfigurationRegister(); - void Read(uint32_t address, uint8_t* buffer, size_t size); - void Write(uint32_t address, const uint8_t *buffer, size_t size); - void WriteEnable(); - void SectorErase(uint32_t sectorAddress); - uint8_t ReadSecurityRegister(); - bool ProgramFailed(); - bool EraseFailed(); - - - void Init(); - void Uninit(); - - - void Sleep(); - void Wakeup(); - private: - enum class Commands : uint8_t { - PageProgram = 0x02, - Read = 0x03, - ReadStatusRegister = 0x05, - WriteEnable = 0x06, - ReadConfigurationRegister = 0x15, - SectorErase = 0x20, - ReadSecurityRegister = 0x2B, - ReadIdentification = 0x9F, - ReleaseFromDeepPowerDown = 0xAB, - DeepPowerDown = 0xB9 - }; - static constexpr uint16_t pageSize = 256; - - Spi& spi; - Identification device_id; + public: + explicit SpiNorFlash(Spi& spi); + SpiNorFlash(const SpiNorFlash&) = delete; + SpiNorFlash& operator=(const SpiNorFlash&) = delete; + SpiNorFlash(SpiNorFlash&&) = delete; + SpiNorFlash& operator=(SpiNorFlash&&) = delete; + + typedef struct __attribute__((packed)) { + uint8_t manufacturer = 0; + uint8_t type = 0; + uint8_t density = 0; + } Identification; + + Identification ReadIdentificaion(); + uint8_t ReadStatusRegister(); + bool WriteInProgress(); + bool WriteEnabled(); + uint8_t ReadConfigurationRegister(); + void Read(uint32_t address, uint8_t* buffer, size_t size); + void Write(uint32_t address, const uint8_t* buffer, size_t size); + void WriteEnable(); + void SectorErase(uint32_t sectorAddress); + uint8_t ReadSecurityRegister(); + bool ProgramFailed(); + bool EraseFailed(); + + void Init(); + void Uninit(); + + void Sleep(); + void Wakeup(); + + private: + enum class Commands : uint8_t { + PageProgram = 0x02, + Read = 0x03, + ReadStatusRegister = 0x05, + WriteEnable = 0x06, + ReadConfigurationRegister = 0x15, + SectorErase = 0x20, + ReadSecurityRegister = 0x2B, + ReadIdentification = 0x9F, + ReleaseFromDeepPowerDown = 0xAB, + DeepPowerDown = 0xB9 + }; + static constexpr uint16_t pageSize = 256; + + Spi& spi; + Identification device_id; }; } } - - diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp index 87cbb639..39218e77 100644 --- a/src/drivers/St7789.cpp +++ b/src/drivers/St7789.cpp @@ -6,11 +6,9 @@ using namespace Pinetime::Drivers; -St7789::St7789(Spi &spi, uint8_t pinDataCommand) : spi{spi}, pinDataCommand{pinDataCommand} { - +St7789::St7789(Spi& spi, uint8_t pinDataCommand) : spi {spi}, pinDataCommand {pinDataCommand} { } - void St7789::Init() { spi.Init(); nrf_gpio_cfg_output(pinDataCommand); @@ -38,9 +36,8 @@ void St7789::WriteData(uint8_t data) { WriteSpi(&data, 1); } - void St7789::WriteSpi(const uint8_t* data, size_t size) { - spi.Write(data, size); + spi.Write(data, size); } void St7789::SoftwareReset() { @@ -105,7 +102,7 @@ void St7789::SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { WriteData(x1 & 0xff); WriteCommand(static_cast(Commands::RowAddressSet)); - WriteData(y0>>8); + WriteData(y0 >> 8); WriteData(y0 & 0xff); WriteData(y1 >> 8); WriteData(y1 & 0xff); @@ -139,21 +136,20 @@ void St7789::VerticalScrollStartAddress(uint16_t line) { WriteData(line & 0x00ffu); } - void St7789::Uninit() { - } void St7789::DrawPixel(uint16_t x, uint16_t y, uint32_t color) { - if((x < 0) ||(x >= Width) || (y < 0) || (y >= Height)) return; + if ((x < 0) || (x >= Width) || (y < 0) || (y >= Height)) + return; - SetAddrWindow(x, y, x+1, y+1); + SetAddrWindow(x, y, x + 1, y + 1); nrf_gpio_pin_set(pinDataCommand); - WriteSpi(reinterpret_cast(&color), 2); + WriteSpi(reinterpret_cast(&color), 2); } -void St7789::DrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t *data, size_t size) { +void St7789::DrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t* data, size_t size) { SetAddrWindow(x, y, x + width - 1, y + height - 1); nrf_gpio_pin_set(pinDataCommand); WriteSpi(data, size); diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index 2c6f9b6b..cea9cf19 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -6,69 +6,68 @@ namespace Pinetime { namespace Drivers { class Spi; class St7789 { - public: - explicit St7789(Spi& spi, uint8_t pinDataCommand); - St7789(const St7789&) = delete; - St7789& operator=(const St7789&) = delete; - St7789(St7789&&) = delete; - St7789& operator=(St7789&&) = delete; + public: + explicit St7789(Spi& spi, uint8_t pinDataCommand); + St7789(const St7789&) = delete; + St7789& operator=(const St7789&) = delete; + St7789(St7789&&) = delete; + St7789& operator=(St7789&&) = delete; - void Init(); - void Uninit(); - void DrawPixel(uint16_t x, uint16_t y, uint32_t color); + void Init(); + void Uninit(); + void DrawPixel(uint16_t x, uint16_t y, uint32_t color); - void VerticalScrollDefinition(uint16_t topFixedLines, uint16_t scrollLines, uint16_t bottomFixedLines); - void VerticalScrollStartAddress(uint16_t line); + void VerticalScrollDefinition(uint16_t topFixedLines, uint16_t scrollLines, uint16_t bottomFixedLines); + void VerticalScrollStartAddress(uint16_t line); - void DrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t *data, size_t size); + void DrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t* data, size_t size); - void DisplayOn(); - void DisplayOff(); + void DisplayOn(); + void DisplayOff(); - void Sleep(); - void Wakeup(); - private: - Spi& spi; - uint8_t pinDataCommand; - uint8_t verticalScrollingStartAddress = 0; + void Sleep(); + void Wakeup(); - void HardwareReset(); - void SoftwareReset(); - void SleepOut(); - void SleepIn(); - void ColMod(); - void MemoryDataAccessControl(); - void DisplayInversionOn(); - void NormalModeOn(); - void WriteToRam(); - void SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); - void WriteCommand(uint8_t cmd); - void WriteSpi(const uint8_t* data, size_t size); + private: + Spi& spi; + uint8_t pinDataCommand; + uint8_t verticalScrollingStartAddress = 0; - enum class Commands : uint8_t { - SoftwareReset = 0x01, - SleepIn = 0x10, - SleepOut = 0x11, - NormalModeOn = 0x13, - DisplayInversionOn = 0x21, - DisplayOff = 0x28, - DisplayOn = 0x29, - ColumnAddressSet = 0x2a, - RowAddressSet = 0x2b, - WriteToRam = 0x2c, - MemoryDataAccessControl = 0x36, - VerticalScrollDefinition = 0x33, - VerticalScrollStartAddress = 0x37, - ColMod = 0x3a, - }; - void WriteData(uint8_t data); - void ColumnAddressSet(); + void HardwareReset(); + void SoftwareReset(); + void SleepOut(); + void SleepIn(); + void ColMod(); + void MemoryDataAccessControl(); + void DisplayInversionOn(); + void NormalModeOn(); + void WriteToRam(); + void SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); + void WriteCommand(uint8_t cmd); + void WriteSpi(const uint8_t* data, size_t size); - static constexpr uint16_t Width = 240; - static constexpr uint16_t Height = 320; - void RowAddressSet(); + enum class Commands : uint8_t { + SoftwareReset = 0x01, + SleepIn = 0x10, + SleepOut = 0x11, + NormalModeOn = 0x13, + DisplayInversionOn = 0x21, + DisplayOff = 0x28, + DisplayOn = 0x29, + ColumnAddressSet = 0x2a, + RowAddressSet = 0x2b, + WriteToRam = 0x2c, + MemoryDataAccessControl = 0x36, + VerticalScrollDefinition = 0x33, + VerticalScrollStartAddress = 0x37, + ColMod = 0x3a, + }; + void WriteData(uint8_t data); + void ColumnAddressSet(); + + static constexpr uint16_t Width = 240; + static constexpr uint16_t Height = 320; + void RowAddressSet(); }; } } - - diff --git a/src/drivers/TwiMaster.cpp b/src/drivers/TwiMaster.cpp index 271b714f..7b6582dd 100644 --- a/src/drivers/TwiMaster.cpp +++ b/src/drivers/TwiMaster.cpp @@ -8,33 +8,39 @@ using namespace Pinetime::Drivers; // TODO use shortcut to automatically send STOP when receive LastTX, for example // TODO use DMA/IRQ -TwiMaster::TwiMaster(const Modules module, const Parameters& params) : module{module}, params{params} { +TwiMaster::TwiMaster(const Modules module, const Parameters& params) : module {module}, params {params} { mutex = xSemaphoreCreateBinary(); } void TwiMaster::Init() { - NRF_GPIO->PIN_CNF[params.pinScl] = ((uint32_t)GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) - | ((uint32_t)GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) - | ((uint32_t)GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) - | ((uint32_t)GPIO_PIN_CNF_DRIVE_S0D1 << GPIO_PIN_CNF_DRIVE_Pos) - | ((uint32_t)GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); - - NRF_GPIO->PIN_CNF[params.pinSda] = ((uint32_t)GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) - | ((uint32_t)GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) - | ((uint32_t)GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) - | ((uint32_t)GPIO_PIN_CNF_DRIVE_S0D1 << GPIO_PIN_CNF_DRIVE_Pos) - | ((uint32_t)GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); - - switch(module) { - case Modules::TWIM1: twiBaseAddress = NRF_TWIM1; break; + NRF_GPIO->PIN_CNF[params.pinScl] = + ((uint32_t) GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) | ((uint32_t) GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) | + ((uint32_t) GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) | ((uint32_t) GPIO_PIN_CNF_DRIVE_S0D1 << GPIO_PIN_CNF_DRIVE_Pos) | + ((uint32_t) GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); + + NRF_GPIO->PIN_CNF[params.pinSda] = + ((uint32_t) GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) | ((uint32_t) GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) | + ((uint32_t) GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) | ((uint32_t) GPIO_PIN_CNF_DRIVE_S0D1 << GPIO_PIN_CNF_DRIVE_Pos) | + ((uint32_t) GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); + + switch (module) { + case Modules::TWIM1: + twiBaseAddress = NRF_TWIM1; + break; default: return; } - switch(static_cast(params.frequency)) { - case Frequencies::Khz100 : twiBaseAddress->FREQUENCY = TWIM_FREQUENCY_FREQUENCY_K100; break; - case Frequencies::Khz250 : twiBaseAddress->FREQUENCY = TWIM_FREQUENCY_FREQUENCY_K250; break; - case Frequencies::Khz400 : twiBaseAddress->FREQUENCY = TWIM_FREQUENCY_FREQUENCY_K400; break; + switch (static_cast(params.frequency)) { + case Frequencies::Khz100: + twiBaseAddress->FREQUENCY = TWIM_FREQUENCY_FREQUENCY_K100; + break; + case Frequencies::Khz250: + twiBaseAddress->FREQUENCY = TWIM_FREQUENCY_FREQUENCY_K250; + break; + case Frequencies::Khz400: + twiBaseAddress->FREQUENCY = TWIM_FREQUENCY_FREQUENCY_K400; + break; } twiBaseAddress->PSEL.SCL = params.pinScl; @@ -49,7 +55,6 @@ void TwiMaster::Init() { twiBaseAddress->ENABLE = (TWIM_ENABLE_ENABLE_Enabled << TWIM_ENABLE_ENABLE_Pos); - /* // IRQ NVIC_ClearPendingIRQ(_IRQn); NVIC_SetPriority(_IRQn, 2); @@ -57,10 +62,9 @@ void TwiMaster::Init() { */ xSemaphoreGive(mutex); - } -TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t registerAddress, uint8_t *data, size_t size) { +TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t registerAddress, uint8_t* data, size_t size) { xSemaphoreTake(mutex, portMAX_DELAY); auto ret = Write(deviceAddress, ®isterAddress, 1, false); ret = Read(deviceAddress, data, size, true); @@ -68,7 +72,7 @@ TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t registerAdd return ret; } -TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, uint8_t registerAddress, const uint8_t *data, size_t size) { +TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, uint8_t registerAddress, const uint8_t* data, size_t size) { ASSERT(size <= maxDataSize); xSemaphoreTake(mutex, portMAX_DELAY); internalBuffer[0] = registerAddress; @@ -78,22 +82,23 @@ TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, uint8_t registerAd return ret; } -TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t *buffer, size_t size, bool stop) { +TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t* buffer, size_t size, bool stop) { twiBaseAddress->ADDRESS = deviceAddress; twiBaseAddress->TASKS_RESUME = 0x1UL; - twiBaseAddress->RXD.PTR = (uint32_t)buffer; + twiBaseAddress->RXD.PTR = (uint32_t) buffer; twiBaseAddress->RXD.MAXCNT = size; twiBaseAddress->TASKS_STARTRX = 1; - while(!twiBaseAddress->EVENTS_RXSTARTED && !twiBaseAddress->EVENTS_ERROR); + while (!twiBaseAddress->EVENTS_RXSTARTED && !twiBaseAddress->EVENTS_ERROR) + ; twiBaseAddress->EVENTS_RXSTARTED = 0x0UL; txStartedCycleCount = DWT->CYCCNT; uint32_t currentCycleCount; - while(!twiBaseAddress->EVENTS_LASTRX && !twiBaseAddress->EVENTS_ERROR) { + while (!twiBaseAddress->EVENTS_LASTRX && !twiBaseAddress->EVENTS_ERROR) { currentCycleCount = DWT->CYCCNT; - if ((currentCycleCount-txStartedCycleCount) > HwFreezedDelay) { + if ((currentCycleCount - txStartedCycleCount) > HwFreezedDelay) { FixHwFreezed(); return ErrorCodes::TransactionFailed; } @@ -102,12 +107,13 @@ TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t *buffer, si if (stop || twiBaseAddress->EVENTS_ERROR) { twiBaseAddress->TASKS_STOP = 0x1UL; - while(!twiBaseAddress->EVENTS_STOPPED); + while (!twiBaseAddress->EVENTS_STOPPED) + ; twiBaseAddress->EVENTS_STOPPED = 0x0UL; - } - else { + } else { twiBaseAddress->TASKS_SUSPEND = 0x1UL; - while(!twiBaseAddress->EVENTS_SUSPENDED); + while (!twiBaseAddress->EVENTS_SUSPENDED) + ; twiBaseAddress->EVENTS_SUSPENDED = 0x0UL; } @@ -117,22 +123,23 @@ TwiMaster::ErrorCodes TwiMaster::Read(uint8_t deviceAddress, uint8_t *buffer, si return ErrorCodes::NoError; } -TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, const uint8_t *data, size_t size, bool stop) { +TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, const uint8_t* data, size_t size, bool stop) { twiBaseAddress->ADDRESS = deviceAddress; twiBaseAddress->TASKS_RESUME = 0x1UL; - twiBaseAddress->TXD.PTR = (uint32_t)data; + twiBaseAddress->TXD.PTR = (uint32_t) data; twiBaseAddress->TXD.MAXCNT = size; twiBaseAddress->TASKS_STARTTX = 1; - while(!twiBaseAddress->EVENTS_TXSTARTED && !twiBaseAddress->EVENTS_ERROR); + while (!twiBaseAddress->EVENTS_TXSTARTED && !twiBaseAddress->EVENTS_ERROR) + ; twiBaseAddress->EVENTS_TXSTARTED = 0x0UL; txStartedCycleCount = DWT->CYCCNT; uint32_t currentCycleCount; - while(!twiBaseAddress->EVENTS_LASTTX && !twiBaseAddress->EVENTS_ERROR) { + while (!twiBaseAddress->EVENTS_LASTTX && !twiBaseAddress->EVENTS_ERROR) { currentCycleCount = DWT->CYCCNT; - if ((currentCycleCount-txStartedCycleCount) > HwFreezedDelay) { + if ((currentCycleCount - txStartedCycleCount) > HwFreezedDelay) { FixHwFreezed(); return ErrorCodes::TransactionFailed; } @@ -141,12 +148,13 @@ TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, const uint8_t *dat if (stop || twiBaseAddress->EVENTS_ERROR) { twiBaseAddress->TASKS_STOP = 0x1UL; - while(!twiBaseAddress->EVENTS_STOPPED); + while (!twiBaseAddress->EVENTS_STOPPED) + ; twiBaseAddress->EVENTS_STOPPED = 0x0UL; - } - else { + } else { twiBaseAddress->TASKS_SUSPEND = 0x1UL; - while(!twiBaseAddress->EVENTS_SUSPENDED); + while (!twiBaseAddress->EVENTS_SUSPENDED) + ; twiBaseAddress->EVENTS_SUSPENDED = 0x0UL; } @@ -160,7 +168,7 @@ TwiMaster::ErrorCodes TwiMaster::Write(uint8_t deviceAddress, const uint8_t *dat } void TwiMaster::Sleep() { - while(twiBaseAddress->ENABLE != 0) { + while (twiBaseAddress->ENABLE != 0) { twiBaseAddress->ENABLE = (TWIM_ENABLE_ENABLE_Disabled << TWIM_ENABLE_ENABLE_Pos); } nrf_gpio_cfg_default(6); @@ -184,17 +192,15 @@ void TwiMaster::FixHwFreezed() { uint32_t twi_state = NRF_TWI1->ENABLE; twiBaseAddress->ENABLE = TWIM_ENABLE_ENABLE_Disabled << TWI_ENABLE_ENABLE_Pos; - NRF_GPIO->PIN_CNF[params.pinScl] = ((uint32_t)GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) - | ((uint32_t)GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) - | ((uint32_t)GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) - | ((uint32_t)GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) - | ((uint32_t)GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); - - NRF_GPIO->PIN_CNF[params.pinSda] = ((uint32_t)GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) - | ((uint32_t)GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) - | ((uint32_t)GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) - | ((uint32_t)GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) - | ((uint32_t)GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); + NRF_GPIO->PIN_CNF[params.pinScl] = + ((uint32_t) GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) | ((uint32_t) GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) | + ((uint32_t) GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) | ((uint32_t) GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) | + ((uint32_t) GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); + + NRF_GPIO->PIN_CNF[params.pinSda] = + ((uint32_t) GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos) | ((uint32_t) GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) | + ((uint32_t) GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) | ((uint32_t) GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) | + ((uint32_t) GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos); // Re-enable I²C twiBaseAddress->ENABLE = twi_state; diff --git a/src/drivers/TwiMaster.h b/src/drivers/TwiMaster.h index f3c87b0a..fc3bd2a7 100644 --- a/src/drivers/TwiMaster.h +++ b/src/drivers/TwiMaster.h @@ -7,39 +7,38 @@ namespace Pinetime { namespace Drivers { class TwiMaster { - public: - enum class Modules { TWIM1 }; - enum class Frequencies {Khz100, Khz250, Khz400}; - enum class ErrorCodes {NoError, TransactionFailed}; - struct Parameters { - uint32_t frequency; - uint8_t pinSda; - uint8_t pinScl; - }; + public: + enum class Modules { TWIM1 }; + enum class Frequencies { Khz100, Khz250, Khz400 }; + enum class ErrorCodes { NoError, TransactionFailed }; + struct Parameters { + uint32_t frequency; + uint8_t pinSda; + uint8_t pinScl; + }; - TwiMaster(const Modules module, const Parameters& params); + TwiMaster(const Modules module, const Parameters& params); - void Init(); - ErrorCodes Read(uint8_t deviceAddress, uint8_t registerAddress, uint8_t* buffer, size_t size); - ErrorCodes Write(uint8_t deviceAddress, uint8_t registerAddress, const uint8_t* data, size_t size); + void Init(); + ErrorCodes Read(uint8_t deviceAddress, uint8_t registerAddress, uint8_t* buffer, size_t size); + ErrorCodes Write(uint8_t deviceAddress, uint8_t registerAddress, const uint8_t* data, size_t size); - void Sleep(); - void Wakeup(); + void Sleep(); + void Wakeup(); - private: - - ErrorCodes Read(uint8_t deviceAddress, uint8_t* buffer, size_t size, bool stop); - ErrorCodes Write(uint8_t deviceAddress, const uint8_t* data, size_t size, bool stop); - void FixHwFreezed(); - NRF_TWIM_Type* twiBaseAddress; - SemaphoreHandle_t mutex; - const Modules module; - const Parameters params; - static constexpr uint8_t maxDataSize{16}; - static constexpr uint8_t registerSize{1}; - uint8_t internalBuffer[maxDataSize + registerSize]; - uint32_t txStartedCycleCount = 0; - static constexpr uint32_t HwFreezedDelay{161000}; + private: + ErrorCodes Read(uint8_t deviceAddress, uint8_t* buffer, size_t size, bool stop); + ErrorCodes Write(uint8_t deviceAddress, const uint8_t* data, size_t size, bool stop); + void FixHwFreezed(); + NRF_TWIM_Type* twiBaseAddress; + SemaphoreHandle_t mutex; + const Modules module; + const Parameters params; + static constexpr uint8_t maxDataSize {16}; + static constexpr uint8_t registerSize {1}; + uint8_t internalBuffer[maxDataSize + registerSize]; + uint32_t txStartedCycleCount = 0; + static constexpr uint32_t HwFreezedDelay {161000}; }; } } \ No newline at end of file diff --git a/src/drivers/Watchdog.cpp b/src/drivers/Watchdog.cpp index d09fbcd1..a6ad263a 100644 --- a/src/drivers/Watchdog.cpp +++ b/src/drivers/Watchdog.cpp @@ -2,7 +2,6 @@ #include using namespace Pinetime::Drivers; - void Watchdog::Setup(uint8_t timeoutSeconds) { NRF_WDT->CONFIG &= ~(WDT_CONFIG_SLEEP_Msk << WDT_CONFIG_SLEEP_Pos); NRF_WDT->CONFIG |= (WDT_CONFIG_HALT_Run << WDT_CONFIG_SLEEP_Pos); @@ -12,7 +11,7 @@ void Watchdog::Setup(uint8_t timeoutSeconds) { /* timeout (s) = (CRV + 1) / 32768 */ // JF : 7500 = 7.5s - uint32_t crv = (((timeoutSeconds*1000u) << 15u) / 1000) - 1; + uint32_t crv = (((timeoutSeconds * 1000u) << 15u) / 1000) - 1; NRF_WDT->CRV = crv; /* Enable reload requests */ @@ -33,28 +32,46 @@ Watchdog::ResetReasons Watchdog::ActualResetReason() const { uint32_t reason = NRF_POWER->RESETREAS; NRF_POWER->RESETREAS = 0xffffffff; - if(reason & 0x01u) return ResetReasons::ResetPin; - if((reason >> 1u) & 0x01u) return ResetReasons::Watchdog; - if((reason >> 2u) & 0x01u) return ResetReasons::SoftReset; - if((reason >> 3u) & 0x01u) return ResetReasons::CpuLockup; - if((reason >> 16u) & 0x01u) return ResetReasons::SystemOff; - if((reason >> 17u) & 0x01u) return ResetReasons::LpComp; - if((reason) & 0x01u) return ResetReasons::DebugInterface; - if((reason >> 19u) & 0x01u) return ResetReasons::NFC; + if (reason & 0x01u) + return ResetReasons::ResetPin; + if ((reason >> 1u) & 0x01u) + return ResetReasons::Watchdog; + if ((reason >> 2u) & 0x01u) + return ResetReasons::SoftReset; + if ((reason >> 3u) & 0x01u) + return ResetReasons::CpuLockup; + if ((reason >> 16u) & 0x01u) + return ResetReasons::SystemOff; + if ((reason >> 17u) & 0x01u) + return ResetReasons::LpComp; + if ((reason) &0x01u) + return ResetReasons::DebugInterface; + if ((reason >> 19u) & 0x01u) + return ResetReasons::NFC; return ResetReasons::HardReset; } -const char *Watchdog::ResetReasonToString(Watchdog::ResetReasons reason) { - switch(reason) { - case ResetReasons::ResetPin: return "Reset pin"; - case ResetReasons::Watchdog: return "Watchdog"; - case ResetReasons::DebugInterface: return "Debug interface"; - case ResetReasons::LpComp: return "LPCOMP"; - case ResetReasons::SystemOff: return "System OFF"; - case ResetReasons::CpuLockup: return "CPU Lock-up"; - case ResetReasons::SoftReset: return "Soft reset"; - case ResetReasons::NFC: return "NFC"; - case ResetReasons::HardReset: return "Hard reset"; - default: return "Unknown"; +const char* Watchdog::ResetReasonToString(Watchdog::ResetReasons reason) { + switch (reason) { + case ResetReasons::ResetPin: + return "Reset pin"; + case ResetReasons::Watchdog: + return "Watchdog"; + case ResetReasons::DebugInterface: + return "Debug interface"; + case ResetReasons::LpComp: + return "LPCOMP"; + case ResetReasons::SystemOff: + return "System OFF"; + case ResetReasons::CpuLockup: + return "CPU Lock-up"; + case ResetReasons::SoftReset: + return "Soft reset"; + case ResetReasons::NFC: + return "NFC"; + case ResetReasons::HardReset: + return "Hard reset"; + default: + return "Unknown"; } } diff --git a/src/drivers/Watchdog.h b/src/drivers/Watchdog.h index 0c816a4e..f1741892 100644 --- a/src/drivers/Watchdog.h +++ b/src/drivers/Watchdog.h @@ -4,25 +4,31 @@ namespace Pinetime { namespace Drivers { class Watchdog { - public: - enum class ResetReasons { ResetPin, Watchdog, SoftReset, CpuLockup, SystemOff, LpComp, DebugInterface, NFC, HardReset }; - void Setup(uint8_t timeoutSeconds); - void Start(); - void Kick(); - ResetReasons ResetReason() const { return resetReason; } - static const char* ResetReasonToString(ResetReasons reason); - private: - ResetReasons resetReason; - ResetReasons ActualResetReason() const; + public: + enum class ResetReasons { ResetPin, Watchdog, SoftReset, CpuLockup, SystemOff, LpComp, DebugInterface, NFC, HardReset }; + void Setup(uint8_t timeoutSeconds); + void Start(); + void Kick(); + ResetReasons ResetReason() const { + return resetReason; + } + static const char* ResetReasonToString(ResetReasons reason); + + private: + ResetReasons resetReason; + ResetReasons ActualResetReason() const; }; class WatchdogView { - public: - WatchdogView(const Watchdog& watchdog) : watchdog{watchdog} { } - Watchdog::ResetReasons ResetReason() const { return watchdog.ResetReason();} + public: + WatchdogView(const Watchdog& watchdog) : watchdog {watchdog} { + } + Watchdog::ResetReasons ResetReason() const { + return watchdog.ResetReason(); + } - private: - const Watchdog& watchdog; + private: + const Watchdog& watchdog; }; } } -- cgit v1.2.3 From 69898545193a82f7d72c9f47c9d9de36167b157b Mon Sep 17 00:00:00 2001 From: Avamander Date: Sat, 24 Apr 2021 12:00:45 +0300 Subject: Changed access modified indentation --- .clang-format | 2 +- src/BootloaderVersion.h | 2 +- src/components/battery/BatteryController.h | 8 ++++---- src/components/ble/AlertNotificationClient.h | 4 ++-- src/components/ble/AlertNotificationService.h | 4 ++-- src/components/ble/BatteryInformationService.h | 4 ++-- src/components/ble/BleClient.h | 2 +- src/components/ble/BleController.h | 4 ++-- src/components/ble/CurrentTimeClient.h | 4 ++-- src/components/ble/CurrentTimeService.h | 4 ++-- src/components/ble/DeviceInformationService.h | 4 ++-- src/components/ble/DfuService.h | 14 +++++++------- src/components/ble/HeartRateService.h | 4 ++-- src/components/ble/ImmediateAlertService.h | 4 ++-- src/components/ble/MusicService.h | 4 ++-- src/components/ble/NavigationService.h | 4 ++-- src/components/ble/NimbleController.h | 4 ++-- src/components/ble/NotificationManager.h | 4 ++-- src/components/ble/ServiceDiscovery.h | 4 ++-- src/components/brightness/BrightnessController.h | 4 ++-- src/components/datetime/DateTimeController.h | 4 ++-- src/components/firmwarevalidator/FirmwareValidator.h | 4 ++-- src/components/gfx/Gfx.h | 4 ++-- src/components/heartrate/Biquad.h | 4 ++-- src/components/heartrate/HeartRateController.h | 4 ++-- src/components/heartrate/Ppg.h | 4 ++-- src/components/heartrate/Ptagc.h | 4 ++-- src/components/motion/MotionController.h | 4 ++-- src/components/motor/MotorController.h | 4 ++-- src/components/rle/RleDecoder.h | 4 ++-- src/components/settings/Settings.h | 4 ++-- src/displayapp/DisplayApp.h | 4 ++-- src/displayapp/DisplayAppRecovery.h | 4 ++-- src/displayapp/DummyLittleVgl.h | 2 +- src/displayapp/LittleVgl.h | 4 ++-- src/displayapp/screens/ApplicationList.h | 4 ++-- src/displayapp/screens/BatteryIcon.h | 2 +- src/displayapp/screens/BatteryInfo.h | 4 ++-- src/displayapp/screens/BleIcon.h | 2 +- src/displayapp/screens/Brightness.h | 4 ++-- src/displayapp/screens/Clock.h | 4 ++-- src/displayapp/screens/DropDownDemo.h | 4 ++-- src/displayapp/screens/FirmwareUpdate.cpp | 2 +- src/displayapp/screens/FirmwareUpdate.h | 4 ++-- src/displayapp/screens/FirmwareValidation.h | 4 ++-- src/displayapp/screens/FlashLight.h | 4 ++-- src/displayapp/screens/HeartRate.h | 4 ++-- src/displayapp/screens/InfiniPaint.h | 4 ++-- src/displayapp/screens/Label.h | 4 ++-- src/displayapp/screens/List.h | 4 ++-- src/displayapp/screens/Meter.h | 4 ++-- src/displayapp/screens/Motion.h | 4 ++-- src/displayapp/screens/Music.h | 4 ++-- src/displayapp/screens/Navigation.h | 4 ++-- src/displayapp/screens/NotificationIcon.h | 2 +- src/displayapp/screens/Notifications.h | 8 ++++---- src/displayapp/screens/Paddle.h | 4 ++-- src/displayapp/screens/Screen.h | 8 ++++---- src/displayapp/screens/ScreenList.h | 4 ++-- src/displayapp/screens/StopWatch.h | 6 +++--- src/displayapp/screens/SystemInfo.h | 4 ++-- src/displayapp/screens/Tile.h | 4 ++-- src/displayapp/screens/Twos.h | 4 ++-- src/displayapp/screens/WatchFaceAnalog.h | 4 ++-- src/displayapp/screens/WatchFaceDigital.h | 4 ++-- src/displayapp/screens/settings/QuickSettings.h | 4 ++-- src/displayapp/screens/settings/SettingDisplay.h | 4 ++-- src/displayapp/screens/settings/SettingTimeFormat.h | 4 ++-- src/displayapp/screens/settings/SettingWakeUp.h | 4 ++-- src/displayapp/screens/settings/SettingWatchFace.h | 4 ++-- src/displayapp/screens/settings/Settings.h | 4 ++-- src/drivers/Bma421.h | 4 ++-- src/drivers/BufferProvider.h | 2 +- src/drivers/Cst816s.h | 4 ++-- src/drivers/Hrs3300.h | 4 ++-- src/drivers/InternalFlash.h | 4 ++-- src/drivers/Spi.h | 4 ++-- src/drivers/SpiMaster.h | 4 ++-- src/drivers/SpiNorFlash.h | 4 ++-- src/drivers/St7789.h | 4 ++-- src/drivers/TwiMaster.h | 4 ++-- src/drivers/Watchdog.h | 8 ++++---- src/systemtask/SystemMonitor.h | 8 ++++---- src/systemtask/SystemTask.h | 4 ++-- 84 files changed, 175 insertions(+), 175 deletions(-) (limited to 'src/drivers') diff --git a/.clang-format b/.clang-format index 5ddb7206..7430d4d6 100644 --- a/.clang-format +++ b/.clang-format @@ -1,6 +1,6 @@ --- Language: Cpp -AccessModifierOffset: 2 +AccessModifierOffset: -2 AlignAfterOpenBracket: Align AlignConsecutiveMacros: true AlignConsecutiveAssignments: false diff --git a/src/BootloaderVersion.h b/src/BootloaderVersion.h index f2fd9112..c1ede0f5 100644 --- a/src/BootloaderVersion.h +++ b/src/BootloaderVersion.h @@ -2,7 +2,7 @@ namespace Pinetime { class BootloaderVersion { - public: + public: static uint32_t Major(); static uint32_t Minor(); static uint32_t Patch(); diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index e5c734d2..04bcf6b8 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -12,7 +12,7 @@ namespace Pinetime { is given as the template parameter N. */ template class CircBuffer { - public: + public: CircBuffer() : arr {}, sz {}, cap {N}, head {} { } /** @@ -32,7 +32,7 @@ namespace Pinetime { return (sum / sz); } - private: + private: std::array arr; /**< internal array used to store the values*/ uint8_t sz; /**< The current size of the array.*/ uint8_t cap; /**< Total capacity of the CircBuffer.*/ @@ -40,7 +40,7 @@ namespace Pinetime { }; class Battery { - public: + public: Battery(); void Init(); @@ -61,7 +61,7 @@ namespace Pinetime { return isPowerPresent; } - private: + private: static Battery* instance; nrf_saadc_value_t saadc_value; diff --git a/src/components/ble/AlertNotificationClient.h b/src/components/ble/AlertNotificationClient.h index 469bd4af..dfba8143 100644 --- a/src/components/ble/AlertNotificationClient.h +++ b/src/components/ble/AlertNotificationClient.h @@ -19,7 +19,7 @@ namespace Pinetime { class NotificationManager; class AlertNotificationClient : public BleClient { - public: + public: explicit AlertNotificationClient(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::NotificationManager& notificationManager); @@ -34,7 +34,7 @@ namespace Pinetime { void Reset(); void Discover(uint16_t connectionHandle, std::function lambda) override; - private: + private: static constexpr uint16_t ansServiceId {0x1811}; static constexpr uint16_t supportedNewAlertCategoryId = 0x2a47; static constexpr uint16_t supportedUnreadAlertCategoryId = 0x2a48; diff --git a/src/components/ble/AlertNotificationService.h b/src/components/ble/AlertNotificationService.h index 66bb9be4..5c7d428c 100644 --- a/src/components/ble/AlertNotificationService.h +++ b/src/components/ble/AlertNotificationService.h @@ -20,7 +20,7 @@ namespace Pinetime { class NotificationManager; class AlertNotificationService { - public: + public: AlertNotificationService(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::NotificationManager& notificationManager); void Init(); @@ -32,7 +32,7 @@ namespace Pinetime { enum class IncomingCallResponses : uint8_t { Reject = 0x00, Answer = 0x01, Mute = 0x02 }; - private: + private: enum class Categories : uint8_t { SimpleAlert = 0x00, Email = 0x01, diff --git a/src/components/ble/BatteryInformationService.h b/src/components/ble/BatteryInformationService.h index 59ed9c64..7d060909 100644 --- a/src/components/ble/BatteryInformationService.h +++ b/src/components/ble/BatteryInformationService.h @@ -12,13 +12,13 @@ namespace Pinetime { namespace Controllers { class Battery; class BatteryInformationService { - public: + public: BatteryInformationService(Controllers::Battery& batteryController); void Init(); int OnBatteryServiceRequested(uint16_t connectionHandle, uint16_t attributeHandle, ble_gatt_access_ctxt* context); - private: + private: Controllers::Battery& batteryController; static constexpr uint16_t batteryInformationServiceId {0x180F}; static constexpr uint16_t batteryLevelId {0x2A19}; diff --git a/src/components/ble/BleClient.h b/src/components/ble/BleClient.h index d8a58e1c..6067c15f 100644 --- a/src/components/ble/BleClient.h +++ b/src/components/ble/BleClient.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Controllers { class BleClient { - public: + public: virtual void Discover(uint16_t connectionHandle, std::function lambda) = 0; }; } diff --git a/src/components/ble/BleController.h b/src/components/ble/BleController.h index 6f5c2367..2cba26a9 100644 --- a/src/components/ble/BleController.h +++ b/src/components/ble/BleController.h @@ -6,7 +6,7 @@ namespace Pinetime { namespace Controllers { class Ble { - public: + public: using BleAddress = std::array; enum class FirmwareUpdateStates { Idle, Running, Validated, Error }; enum class AddressTypes { Public, Random }; @@ -49,7 +49,7 @@ namespace Pinetime { addressType = t; } - private: + private: bool isConnected = false; bool isFirmwareUpdating = false; uint32_t firmwareUpdateTotalBytes = 0; diff --git a/src/components/ble/CurrentTimeClient.h b/src/components/ble/CurrentTimeClient.h index c48a016d..6424c035 100644 --- a/src/components/ble/CurrentTimeClient.h +++ b/src/components/ble/CurrentTimeClient.h @@ -12,7 +12,7 @@ namespace Pinetime { class DateTime; class CurrentTimeClient : public BleClient { - public: + public: explicit CurrentTimeClient(DateTime& dateTimeController); void Init(); void Reset(); @@ -27,7 +27,7 @@ namespace Pinetime { } void Discover(uint16_t connectionHandle, std::function lambda) override; - private: + private: typedef struct __attribute__((packed)) { uint16_t year; uint8_t month; diff --git a/src/components/ble/CurrentTimeService.h b/src/components/ble/CurrentTimeService.h index 0a9a18a8..ca87d970 100644 --- a/src/components/ble/CurrentTimeService.h +++ b/src/components/ble/CurrentTimeService.h @@ -12,13 +12,13 @@ namespace Pinetime { namespace Controllers { class CurrentTimeService { - public: + public: CurrentTimeService(DateTime& dateTimeController); void Init(); int OnTimeAccessed(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt); - private: + private: static constexpr uint16_t ctsId {0x1805}; static constexpr uint16_t ctsCharId {0x2a2b}; diff --git a/src/components/ble/DeviceInformationService.h b/src/components/ble/DeviceInformationService.h index 3ff48b6d..54b3e961 100644 --- a/src/components/ble/DeviceInformationService.h +++ b/src/components/ble/DeviceInformationService.h @@ -9,13 +9,13 @@ namespace Pinetime { namespace Controllers { class DeviceInformationService { - public: + public: DeviceInformationService(); void Init(); int OnDeviceInfoRequested(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt); - private: + private: static constexpr uint16_t deviceInfoId {0x180a}; static constexpr uint16_t manufacturerNameId {0x2a29}; static constexpr uint16_t modelNumberId {0x2a24}; diff --git a/src/components/ble/DfuService.h b/src/components/ble/DfuService.h index b932d80f..4708a4a6 100644 --- a/src/components/ble/DfuService.h +++ b/src/components/ble/DfuService.h @@ -20,7 +20,7 @@ namespace Pinetime { class Ble; class DfuService { - public: + public: DfuService(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::Ble& bleController, Pinetime::Drivers::SpiNorFlash& spiNorFlash); @@ -30,24 +30,24 @@ namespace Pinetime { void Reset(); class NotificationManager { - public: + public: NotificationManager(); bool AsyncSend(uint16_t connection, uint16_t charactHandle, uint8_t* data, size_t size); void Send(uint16_t connection, uint16_t characteristicHandle, const uint8_t* data, const size_t s); - private: + private: TimerHandle_t timer; uint16_t connectionHandle = 0; uint16_t characteristicHandle = 0; size_t size = 0; uint8_t buffer[10]; - public: + public: void OnNotificationTimer(); void Reset(); }; class DfuImage { - public: + public: DfuImage(Pinetime::Drivers::SpiNorFlash& spiNorFlash) : spiNorFlash {spiNorFlash} { } void Init(size_t chunkSize, size_t totalSize, uint16_t expectedCrc); @@ -56,7 +56,7 @@ namespace Pinetime { bool Validate(); bool IsComplete(); - private: + private: Pinetime::Drivers::SpiNorFlash& spiNorFlash; static constexpr size_t bufferSize = 200; bool ready = false; @@ -73,7 +73,7 @@ namespace Pinetime { uint16_t ComputeCrc(uint8_t const* p_data, uint32_t size, uint16_t const* p_crc); }; - private: + private: Pinetime::System::SystemTask& systemTask; Pinetime::Controllers::Ble& bleController; DfuImage dfuImage; diff --git a/src/components/ble/HeartRateService.h b/src/components/ble/HeartRateService.h index 7422445a..0b16703f 100644 --- a/src/components/ble/HeartRateService.h +++ b/src/components/ble/HeartRateService.h @@ -12,13 +12,13 @@ namespace Pinetime { namespace Controllers { class HeartRateController; class HeartRateService { - public: + public: HeartRateService(Pinetime::System::SystemTask& system, Controllers::HeartRateController& heartRateController); void Init(); int OnHeartRateRequested(uint16_t connectionHandle, uint16_t attributeHandle, ble_gatt_access_ctxt* context); void OnNewHeartRateValue(uint8_t hearRateValue); - private: + private: Pinetime::System::SystemTask& system; Controllers::HeartRateController& heartRateController; static constexpr uint16_t heartRateServiceId {0x180D}; diff --git a/src/components/ble/ImmediateAlertService.h b/src/components/ble/ImmediateAlertService.h index 6bd11bd7..1f778acd 100644 --- a/src/components/ble/ImmediateAlertService.h +++ b/src/components/ble/ImmediateAlertService.h @@ -12,14 +12,14 @@ namespace Pinetime { namespace Controllers { class NotificationManager; class ImmediateAlertService { - public: + public: enum class Levels : uint8_t { NoAlert = 0, MildAlert = 1, HighAlert = 2 }; ImmediateAlertService(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::NotificationManager& notificationManager); void Init(); int OnAlertLevelChanged(uint16_t connectionHandle, uint16_t attributeHandle, ble_gatt_access_ctxt* context); - private: + private: Pinetime::System::SystemTask& systemTask; NotificationManager& notificationManager; diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h index 5416219d..5f5343e4 100644 --- a/src/components/ble/MusicService.h +++ b/src/components/ble/MusicService.h @@ -37,7 +37,7 @@ namespace Pinetime { namespace Controllers { class MusicService { - public: + public: explicit MusicService(Pinetime::System::SystemTask& system); void Init(); @@ -70,7 +70,7 @@ namespace Pinetime { enum MusicStatus { NotPlaying = 0x00, Playing = 0x01 }; - private: + private: static constexpr uint8_t msId[2] = {0x00, 0x00}; static constexpr uint8_t msEventCharId[2] = {0x01, 0x00}; static constexpr uint8_t msStatusCharId[2] = {0x02, 0x00}; diff --git a/src/components/ble/NavigationService.h b/src/components/ble/NavigationService.h index dc4f0a0d..5aab263c 100644 --- a/src/components/ble/NavigationService.h +++ b/src/components/ble/NavigationService.h @@ -37,7 +37,7 @@ namespace Pinetime { namespace Controllers { class NavigationService { - public: + public: explicit NavigationService(Pinetime::System::SystemTask& system); void Init(); @@ -52,7 +52,7 @@ namespace Pinetime { int getProgress(); - private: + private: static constexpr uint8_t navId[2] = {0x01, 0x00}; static constexpr uint8_t navFlagCharId[2] = {0x01, 0x00}; static constexpr uint8_t navNarrativeCharId[2] = {0x02, 0x00}; diff --git a/src/components/ble/NimbleController.h b/src/components/ble/NimbleController.h index 6d4aa38a..5dd01e42 100644 --- a/src/components/ble/NimbleController.h +++ b/src/components/ble/NimbleController.h @@ -36,7 +36,7 @@ namespace Pinetime { class NimbleController { - public: + public: NimbleController(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::Ble& bleController, DateTime& dateTimeController, @@ -71,7 +71,7 @@ namespace Pinetime { uint16_t connHandle(); - private: + private: static constexpr const char* deviceName = "InfiniTime"; Pinetime::System::SystemTask& systemTask; Pinetime::Controllers::Ble& bleController; diff --git a/src/components/ble/NotificationManager.h b/src/components/ble/NotificationManager.h index 8e8fb374..d4072cc2 100644 --- a/src/components/ble/NotificationManager.h +++ b/src/components/ble/NotificationManager.h @@ -8,7 +8,7 @@ namespace Pinetime { namespace Controllers { class NotificationManager { - public: + public: enum class Categories { Unknown, SimpleAlert, @@ -52,7 +52,7 @@ namespace Pinetime { }; size_t NbNotifications() const; - private: + private: Notification::Id GetNextId(); static constexpr uint8_t TotalNbNotifications = 5; std::array notifications; diff --git a/src/components/ble/ServiceDiscovery.h b/src/components/ble/ServiceDiscovery.h index 56bb3e44..fc3b38c0 100644 --- a/src/components/ble/ServiceDiscovery.h +++ b/src/components/ble/ServiceDiscovery.h @@ -8,12 +8,12 @@ namespace Pinetime { class BleClient; class ServiceDiscovery { - public: + public: ServiceDiscovery(std::array&& bleClients); void StartDiscovery(uint16_t connectionHandle); - private: + private: BleClient** clientIterator; std::array clients; void OnServiceDiscovered(uint16_t connectionHandle); diff --git a/src/components/brightness/BrightnessController.h b/src/components/brightness/BrightnessController.h index e8c36e3b..c47158a9 100644 --- a/src/components/brightness/BrightnessController.h +++ b/src/components/brightness/BrightnessController.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Controllers { class BrightnessController { - public: + public: enum class Levels { Off, Low, Medium, High }; void Init(); @@ -21,7 +21,7 @@ namespace Pinetime { const char* GetIcon(); const char* ToString(); - private: + private: static constexpr uint8_t pinLcdBacklight1 = 14; static constexpr uint8_t pinLcdBacklight2 = 22; static constexpr uint8_t pinLcdBacklight3 = 23; diff --git a/src/components/datetime/DateTimeController.h b/src/components/datetime/DateTimeController.h index 823442b2..d0ae727e 100644 --- a/src/components/datetime/DateTimeController.h +++ b/src/components/datetime/DateTimeController.h @@ -9,7 +9,7 @@ namespace Pinetime { } namespace Controllers { class DateTime { - public: + public: enum class Days : uint8_t { Unknown, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; enum class Months : uint8_t { Unknown, @@ -75,7 +75,7 @@ namespace Pinetime { return uptime; } - private: + private: System::SystemTask& systemTask; uint16_t year = 0; Months month = Months::Unknown; diff --git a/src/components/firmwarevalidator/FirmwareValidator.h b/src/components/firmwarevalidator/FirmwareValidator.h index 00b5a0bb..ce644f97 100644 --- a/src/components/firmwarevalidator/FirmwareValidator.h +++ b/src/components/firmwarevalidator/FirmwareValidator.h @@ -5,13 +5,13 @@ namespace Pinetime { namespace Controllers { class FirmwareValidator { - public: + public: void Validate(); bool IsValidated() const; void Reset(); - private: + private: static constexpr uint32_t validBitAdress {0x7BFE8}; static constexpr uint32_t validBitValue {1}; }; diff --git a/src/components/gfx/Gfx.h b/src/components/gfx/Gfx.h index b45fb45c..54c4a8b7 100644 --- a/src/components/gfx/Gfx.h +++ b/src/components/gfx/Gfx.h @@ -12,7 +12,7 @@ namespace Pinetime { } namespace Components { class Gfx : public Pinetime::Drivers::BufferProvider { - public: + public: explicit Gfx(Drivers::St7789& lcd); void Init(); void ClearScreen(); @@ -28,7 +28,7 @@ namespace Pinetime { bool GetNextBuffer(uint8_t** buffer, size_t& size) override; void pixel_draw(uint8_t x, uint8_t y, uint16_t color); - private: + private: static constexpr uint8_t width = 240; static constexpr uint8_t height = 240; diff --git a/src/components/heartrate/Biquad.h b/src/components/heartrate/Biquad.h index 0d62b1fe..7c8ca58f 100644 --- a/src/components/heartrate/Biquad.h +++ b/src/components/heartrate/Biquad.h @@ -4,11 +4,11 @@ namespace Pinetime { namespace Controllers { /// Direct Form II Biquad Filter class Biquad { - public: + public: Biquad(float b0, float b1, float b2, float a1, float a2); float Step(float x); - private: + private: float b0; float b1; float b2; diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index 5558d355..d3a8460d 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -12,7 +12,7 @@ namespace Pinetime { } namespace Controllers { class HeartRateController { - public: + public: enum class States { Stopped, NotEnoughData, NoTouch, Running }; explicit HeartRateController(System::SystemTask& systemTask); @@ -31,7 +31,7 @@ namespace Pinetime { void SetService(Pinetime::Controllers::HeartRateService* service); - private: + private: System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; States state = States::Stopped; diff --git a/src/components/heartrate/Ppg.h b/src/components/heartrate/Ppg.h index 51db7582..6a2fcf18 100644 --- a/src/components/heartrate/Ppg.h +++ b/src/components/heartrate/Ppg.h @@ -7,7 +7,7 @@ namespace Pinetime { namespace Controllers { class Ppg { - public: + public: explicit Ppg(float spl); int Preprocess(float spl); @@ -16,7 +16,7 @@ namespace Pinetime { void SetOffset(uint16_t i); void Reset(); - private: + private: std::array data; size_t dataIndex = 0; float offset; diff --git a/src/components/heartrate/Ptagc.h b/src/components/heartrate/Ptagc.h index aaa6f1e6..3476636b 100644 --- a/src/components/heartrate/Ptagc.h +++ b/src/components/heartrate/Ptagc.h @@ -3,11 +3,11 @@ namespace Pinetime { namespace Controllers { class Ptagc { - public: + public: Ptagc(float start, float decay, float threshold); float Step(float spl); - private: + private: float peak; float decay; float boost; diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h index 1a551196..bf644812 100644 --- a/src/components/motion/MotionController.h +++ b/src/components/motion/MotionController.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Controllers { class MotionController { - public: + public: void Update(int16_t x, int16_t y, int16_t z, uint32_t nbSteps); uint16_t X() const { @@ -27,7 +27,7 @@ namespace Pinetime { return isSensorOk; } - private: + private: uint32_t nbSteps; int16_t x; int16_t y; diff --git a/src/components/motor/MotorController.h b/src/components/motor/MotorController.h index 4662a8da..df61af78 100644 --- a/src/components/motor/MotorController.h +++ b/src/components/motor/MotorController.h @@ -9,12 +9,12 @@ namespace Pinetime { static constexpr uint8_t pinMotor = 16; class MotorController { - public: + public: MotorController(Controllers::Settings& settingsController); void Init(); void SetDuration(uint8_t motorDuration); - private: + private: Controllers::Settings& settingsController; static void vibrate(void* p_context); }; diff --git a/src/components/rle/RleDecoder.h b/src/components/rle/RleDecoder.h index c21f45c2..0f607fb8 100644 --- a/src/components/rle/RleDecoder.h +++ b/src/components/rle/RleDecoder.h @@ -11,13 +11,13 @@ namespace Pinetime { * Code from https://github.com/daniel-thompson/wasp-bootloader by Daniel Thompson released under the MIT license. */ class RleDecoder { - public: + public: RleDecoder(const uint8_t* buffer, size_t size); RleDecoder(const uint8_t* buffer, size_t size, uint16_t foregroundColor, uint16_t backgroundColor); void DecodeNext(uint8_t* output, size_t maxBytes); - private: + private: const uint8_t* buffer; size_t size; diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h index 05d6e7ef..18c87fd4 100644 --- a/src/components/settings/Settings.h +++ b/src/components/settings/Settings.h @@ -8,7 +8,7 @@ namespace Pinetime { namespace Controllers { class Settings { - public: + public: enum class ClockType { H24, H12 }; enum class Vibration { ON, OFF }; enum class WakeUpMode { None, SingleTap, DoubleTap, RaiseWrist }; @@ -86,7 +86,7 @@ namespace Pinetime { return settings.brightLevel; }; - private: + private: Pinetime::Drivers::SpiNorFlash& spiNorFlash; struct SettingsData { diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 03afb4ca..ff5ddac8 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -35,7 +35,7 @@ namespace Pinetime { }; namespace Applications { class DisplayApp { - public: + public: enum class States { Idle, Running }; enum class FullRefreshDirections { None, Up, Down, Left, Right, LeftAnim, RightAnim }; enum class TouchModes { Gestures, Polling }; @@ -60,7 +60,7 @@ namespace Pinetime { void SetFullRefresh(FullRefreshDirections direction); void SetTouchMode(TouchModes mode); - private: + private: Pinetime::Drivers::St7789& lcd; Pinetime::Components::LittleVgl& lvgl; Pinetime::Drivers::Cst816S& touchPanel; diff --git a/src/displayapp/DisplayAppRecovery.h b/src/displayapp/DisplayAppRecovery.h index b51d6b67..025be6c0 100644 --- a/src/displayapp/DisplayAppRecovery.h +++ b/src/displayapp/DisplayAppRecovery.h @@ -29,7 +29,7 @@ namespace Pinetime { }; namespace Applications { class DisplayApp { - public: + public: DisplayApp(Drivers::St7789& lcd, Components::LittleVgl& lvgl, Drivers::Cst816S&, @@ -45,7 +45,7 @@ namespace Pinetime { void Start(); void PushMessage(Pinetime::Applications::Display::Messages msg); - private: + private: TaskHandle_t taskHandle; static void Process(void* instance); void DisplayLogo(uint16_t color); diff --git a/src/displayapp/DummyLittleVgl.h b/src/displayapp/DummyLittleVgl.h index dda1f3b8..96cf153f 100644 --- a/src/displayapp/DummyLittleVgl.h +++ b/src/displayapp/DummyLittleVgl.h @@ -9,7 +9,7 @@ namespace Pinetime { namespace Components { class LittleVgl { - public: + public: enum class FullRefreshDirections { None, Up, Down }; LittleVgl(Pinetime::Drivers::St7789& lcd, Pinetime::Drivers::Cst816S& touchPanel) { } diff --git a/src/displayapp/LittleVgl.h b/src/displayapp/LittleVgl.h index b10b14fa..7f7b76e0 100644 --- a/src/displayapp/LittleVgl.h +++ b/src/displayapp/LittleVgl.h @@ -10,7 +10,7 @@ namespace Pinetime { namespace Components { class LittleVgl { - public: + public: enum class FullRefreshDirections { None, Up, Down, Left, Right, LeftAnim, RightAnim }; LittleVgl(Pinetime::Drivers::St7789& lcd, Pinetime::Drivers::Cst816S& touchPanel); @@ -24,7 +24,7 @@ namespace Pinetime { void SetFullRefresh(FullRefreshDirections direction); void SetNewTapEvent(uint16_t x, uint16_t y); - private: + private: void InitDisplay(); void InitTouchpad(); void InitTheme(); diff --git a/src/displayapp/screens/ApplicationList.h b/src/displayapp/screens/ApplicationList.h index 5d519355..88534ec4 100644 --- a/src/displayapp/screens/ApplicationList.h +++ b/src/displayapp/screens/ApplicationList.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class ApplicationList : public Screen { - public: + public: explicit ApplicationList(DisplayApp* app, Pinetime::Controllers::Settings& settingsController, Pinetime::Controllers::Battery& batteryController, @@ -21,7 +21,7 @@ namespace Pinetime { bool Refresh() override; bool OnTouchEvent(TouchEvents event) override; - private: + private: Controllers::Settings& settingsController; Pinetime::Controllers::Battery& batteryController; Controllers::DateTime& dateTimeController; diff --git a/src/displayapp/screens/BatteryIcon.h b/src/displayapp/screens/BatteryIcon.h index 2a40a9c1..9c192ff7 100644 --- a/src/displayapp/screens/BatteryIcon.h +++ b/src/displayapp/screens/BatteryIcon.h @@ -4,7 +4,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class BatteryIcon { - public: + public: static const char* GetUnknownIcon(); static const char* GetBatteryIcon(int batteryPercent); static const char* GetPlugIcon(bool isCharging); diff --git a/src/displayapp/screens/BatteryInfo.h b/src/displayapp/screens/BatteryInfo.h index e95267bd..8805db58 100644 --- a/src/displayapp/screens/BatteryInfo.h +++ b/src/displayapp/screens/BatteryInfo.h @@ -15,7 +15,7 @@ namespace Pinetime { namespace Screens { class BatteryInfo : public Screen { - public: + public: BatteryInfo(DisplayApp* app, Pinetime::Controllers::Battery& batteryController); ~BatteryInfo() override; @@ -24,7 +24,7 @@ namespace Pinetime { void UpdateScreen(); void UpdateAnim(); - private: + private: Pinetime::Controllers::Battery& batteryController; lv_obj_t* voltage; diff --git a/src/displayapp/screens/BleIcon.h b/src/displayapp/screens/BleIcon.h index 5fe139aa..c1398d2a 100644 --- a/src/displayapp/screens/BleIcon.h +++ b/src/displayapp/screens/BleIcon.h @@ -4,7 +4,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class BleIcon { - public: + public: static const char* GetIcon(bool isConnected); }; } diff --git a/src/displayapp/screens/Brightness.h b/src/displayapp/screens/Brightness.h index e2a5e7a1..9ee33753 100644 --- a/src/displayapp/screens/Brightness.h +++ b/src/displayapp/screens/Brightness.h @@ -9,7 +9,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class Brightness : public Screen { - public: + public: Brightness(DisplayApp* app, Controllers::BrightnessController& brightness); ~Brightness() override; bool Refresh() override; @@ -18,7 +18,7 @@ namespace Pinetime { void OnValueChanged(); - private: + private: Controllers::BrightnessController& brightness; lv_obj_t* slider_label; diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index ef008c8d..9879985f 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -23,7 +23,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class Clock : public Screen { - public: + public: Clock(DisplayApp* app, Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, @@ -38,7 +38,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; - private: + private: Controllers::DateTime& dateTimeController; Controllers::Battery& batteryController; Controllers::Ble& bleController; diff --git a/src/displayapp/screens/DropDownDemo.h b/src/displayapp/screens/DropDownDemo.h index 94be89e4..ff388c57 100644 --- a/src/displayapp/screens/DropDownDemo.h +++ b/src/displayapp/screens/DropDownDemo.h @@ -9,7 +9,7 @@ namespace Pinetime { namespace Screens { class DropDownDemo : public Screen { - public: + public: DropDownDemo(DisplayApp* app); ~DropDownDemo() override; @@ -17,7 +17,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; - private: + private: lv_obj_t* ddlist; bool isDropDownOpened = false; diff --git a/src/displayapp/screens/FirmwareUpdate.cpp b/src/displayapp/screens/FirmwareUpdate.cpp index 1ca9d7ce..4086b152 100644 --- a/src/displayapp/screens/FirmwareUpdate.cpp +++ b/src/displayapp/screens/FirmwareUpdate.cpp @@ -8,7 +8,7 @@ using namespace Pinetime::Applications::Screens; FirmwareUpdate::FirmwareUpdate(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Ble& bleController) : Screen(app), bleController {bleController} { - lv_obj_t * backgroundLabel = lv_label_create(lv_scr_act(), nullptr); + lv_obj_t* backgroundLabel = lv_label_create(lv_scr_act(), nullptr); lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP); lv_obj_set_size(backgroundLabel, 240, 240); lv_obj_set_pos(backgroundLabel, 0, 0); diff --git a/src/displayapp/screens/FirmwareUpdate.h b/src/displayapp/screens/FirmwareUpdate.h index 7e642477..f4d34df0 100644 --- a/src/displayapp/screens/FirmwareUpdate.h +++ b/src/displayapp/screens/FirmwareUpdate.h @@ -11,13 +11,13 @@ namespace Pinetime { namespace Screens { class FirmwareUpdate : public Screen { - public: + public: FirmwareUpdate(DisplayApp* app, Pinetime::Controllers::Ble& bleController); ~FirmwareUpdate() override; bool Refresh() override; - private: + private: enum class States { Idle, Running, Validated, Error }; Pinetime::Controllers::Ble& bleController; lv_obj_t* bar1; diff --git a/src/displayapp/screens/FirmwareValidation.h b/src/displayapp/screens/FirmwareValidation.h index f35a86b5..67662fd9 100644 --- a/src/displayapp/screens/FirmwareValidation.h +++ b/src/displayapp/screens/FirmwareValidation.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Screens { class FirmwareValidation : public Screen { - public: + public: FirmwareValidation(DisplayApp* app, Pinetime::Controllers::FirmwareValidator& validator); ~FirmwareValidation() override; @@ -20,7 +20,7 @@ namespace Pinetime { void OnButtonEvent(lv_obj_t* object, lv_event_t event); - private: + private: Pinetime::Controllers::FirmwareValidator& validator; lv_obj_t* labelVersionInfo; diff --git a/src/displayapp/screens/FlashLight.h b/src/displayapp/screens/FlashLight.h index 5bd188de..a862ffdb 100644 --- a/src/displayapp/screens/FlashLight.h +++ b/src/displayapp/screens/FlashLight.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Screens { class FlashLight : public Screen { - public: + public: FlashLight(DisplayApp* app, System::SystemTask& systemTask, Controllers::BrightnessController& brightness); ~FlashLight() override; @@ -21,7 +21,7 @@ namespace Pinetime { bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override; void OnClickEvent(lv_obj_t* obj, lv_event_t event); - private: + private: Pinetime::System::SystemTask& systemTask; Controllers::BrightnessController& brightness; diff --git a/src/displayapp/screens/HeartRate.h b/src/displayapp/screens/HeartRate.h index 25be427f..a23c5af8 100644 --- a/src/displayapp/screens/HeartRate.h +++ b/src/displayapp/screens/HeartRate.h @@ -16,7 +16,7 @@ namespace Pinetime { namespace Screens { class HeartRate : public Screen { - public: + public: HeartRate(DisplayApp* app, Controllers::HeartRateController& HeartRateController, System::SystemTask& systemTask); ~HeartRate() override; @@ -24,7 +24,7 @@ namespace Pinetime { void OnStartStopEvent(lv_event_t event); - private: + private: Controllers::HeartRateController& heartRateController; Pinetime::System::SystemTask& systemTask; void UpdateStartStopButton(bool isRunning); diff --git a/src/displayapp/screens/InfiniPaint.h b/src/displayapp/screens/InfiniPaint.h index 220212b1..6251752a 100644 --- a/src/displayapp/screens/InfiniPaint.h +++ b/src/displayapp/screens/InfiniPaint.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Screens { class InfiniPaint : public Screen { - public: + public: InfiniPaint(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl); ~InfiniPaint() override; @@ -23,7 +23,7 @@ namespace Pinetime { bool OnTouchEvent(uint16_t x, uint16_t y) override; - private: + private: Pinetime::Components::LittleVgl& lvgl; static constexpr uint16_t width = 10; static constexpr uint16_t height = 10; diff --git a/src/displayapp/screens/Label.h b/src/displayapp/screens/Label.h index b648fdb6..62b80bec 100644 --- a/src/displayapp/screens/Label.h +++ b/src/displayapp/screens/Label.h @@ -8,13 +8,13 @@ namespace Pinetime { namespace Screens { class Label : public Screen { - public: + public: Label(uint8_t screenID, uint8_t numScreens, DisplayApp* app, lv_obj_t* labelText); ~Label() override; bool Refresh() override; - private: + private: bool running = true; lv_obj_t* labelText = nullptr; diff --git a/src/displayapp/screens/List.h b/src/displayapp/screens/List.h index 4c2973aa..a45fd1d3 100644 --- a/src/displayapp/screens/List.h +++ b/src/displayapp/screens/List.h @@ -13,7 +13,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class List : public Screen { - public: + public: struct Applications { const char* icon; const char* name; @@ -31,7 +31,7 @@ namespace Pinetime { void OnButtonEvent(lv_obj_t* object, lv_event_t event); - private: + private: Controllers::Settings& settingsController; Pinetime::Applications::Apps apps[MAXLISTITEMS]; diff --git a/src/displayapp/screens/Meter.h b/src/displayapp/screens/Meter.h index 970e4233..24af15ad 100644 --- a/src/displayapp/screens/Meter.h +++ b/src/displayapp/screens/Meter.h @@ -10,13 +10,13 @@ namespace Pinetime { namespace Screens { class Meter : public Screen { - public: + public: Meter(DisplayApp* app); ~Meter() override; bool Refresh() override; - private: + private: lv_style_t style_lmeter; lv_obj_t* lmeter; diff --git a/src/displayapp/screens/Motion.h b/src/displayapp/screens/Motion.h index a06a5d1c..11007866 100644 --- a/src/displayapp/screens/Motion.h +++ b/src/displayapp/screens/Motion.h @@ -13,14 +13,14 @@ namespace Pinetime { namespace Screens { class Motion : public Screen { - public: + public: Motion(DisplayApp* app, Controllers::MotionController& motionController); ~Motion() override; bool Refresh() override; bool OnButtonPushed() override; - private: + private: Controllers::MotionController& motionController; lv_obj_t* chart; lv_chart_series_t* ser1; diff --git a/src/displayapp/screens/Music.h b/src/displayapp/screens/Music.h index c7da233e..ef8f1fec 100644 --- a/src/displayapp/screens/Music.h +++ b/src/displayapp/screens/Music.h @@ -30,7 +30,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class Music : public Screen { - public: + public: Music(DisplayApp* app, Pinetime::Controllers::MusicService& music); ~Music() override; @@ -39,7 +39,7 @@ namespace Pinetime { void OnObjectEvent(lv_obj_t* obj, lv_event_t event); - private: + private: bool OnTouchEvent(TouchEvents event); void UpdateLength(); diff --git a/src/displayapp/screens/Navigation.h b/src/displayapp/screens/Navigation.h index 65a87047..46816c33 100644 --- a/src/displayapp/screens/Navigation.h +++ b/src/displayapp/screens/Navigation.h @@ -31,13 +31,13 @@ namespace Pinetime { namespace Applications { namespace Screens { class Navigation : public Screen { - public: + public: Navigation(DisplayApp* app, Pinetime::Controllers::NavigationService& nav); ~Navigation() override; bool Refresh() override; - private: + private: lv_obj_t* imgFlag; lv_obj_t* txtNarrative; lv_obj_t* txtManDist; diff --git a/src/displayapp/screens/NotificationIcon.h b/src/displayapp/screens/NotificationIcon.h index 40546397..dc34c3f0 100644 --- a/src/displayapp/screens/NotificationIcon.h +++ b/src/displayapp/screens/NotificationIcon.h @@ -4,7 +4,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class NotificationIcon { - public: + public: static const char* GetIcon(bool newNotificationAvailable); }; } diff --git a/src/displayapp/screens/Notifications.h b/src/displayapp/screens/Notifications.h index d5ea5dcb..51ca81da 100644 --- a/src/displayapp/screens/Notifications.h +++ b/src/displayapp/screens/Notifications.h @@ -14,7 +14,7 @@ namespace Pinetime { namespace Screens { class Notifications : public Screen { - public: + public: enum class Modes { Normal, Preview }; explicit Notifications(DisplayApp* app, Pinetime::Controllers::NotificationManager& notificationManager, @@ -26,7 +26,7 @@ namespace Pinetime { bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override; class NotificationItem { - public: + public: NotificationItem(const char* title, const char* msg, uint8_t notifNr, @@ -42,7 +42,7 @@ namespace Pinetime { void OnMuteIncomingCall(lv_event_t event); void OnRejectIncomingCall(lv_event_t event); - private: + private: uint8_t notifNr = 0; uint8_t notifNb = 0; char pageText[4]; @@ -62,7 +62,7 @@ namespace Pinetime { Pinetime::Controllers::AlertNotificationService& alertNotificationService; }; - private: + private: struct NotificationData { const char* title; const char* text; diff --git a/src/displayapp/screens/Paddle.h b/src/displayapp/screens/Paddle.h index 438b4992..e133244f 100644 --- a/src/displayapp/screens/Paddle.h +++ b/src/displayapp/screens/Paddle.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Screens { class Paddle : public Screen { - public: + public: Paddle(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl); ~Paddle() override; @@ -21,7 +21,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; bool OnTouchEvent(uint16_t x, uint16_t y) override; - private: + private: Pinetime::Components::LittleVgl& lvgl; int paddleBottomY = 90; // bottom extreme of the paddle diff --git a/src/displayapp/screens/Screen.h b/src/displayapp/screens/Screen.h index fb453aa8..8e49c9de 100644 --- a/src/displayapp/screens/Screen.h +++ b/src/displayapp/screens/Screen.h @@ -9,7 +9,7 @@ namespace Pinetime { namespace Screens { template class DirtyValue { - public: + public: DirtyValue() = default; // Use NSDMI explicit DirtyValue(T const& v) : value {v} { } // Use MIL and const-lvalue-ref @@ -28,13 +28,13 @@ namespace Pinetime { return *this; } - private: + private: T value {}; // NSDMI - default initialise type bool isUpdated {true}; // NSDMI - use brace initilisation }; class Screen { - public: + public: explicit Screen(DisplayApp* app) : app {app} { } virtual ~Screen() = default; @@ -67,7 +67,7 @@ namespace Pinetime { return false; } - protected: + protected: DisplayApp* app; bool running = true; }; diff --git a/src/displayapp/screens/ScreenList.h b/src/displayapp/screens/ScreenList.h index a9a176b3..73ea4610 100644 --- a/src/displayapp/screens/ScreenList.h +++ b/src/displayapp/screens/ScreenList.h @@ -12,7 +12,7 @@ namespace Pinetime { enum class ScreenListModes { UpDown, RightLeft, LongPress }; template class ScreenList : public Screen { - public: + public: ScreenList(DisplayApp* app, uint8_t initScreen, std::array()>, N>&& screens, @@ -95,7 +95,7 @@ namespace Pinetime { return false; } - private: + private: uint8_t initScreen = 0; std::array()>, N> screens; ScreenListModes mode = ScreenListModes::UpDown; diff --git a/src/displayapp/screens/StopWatch.h b/src/displayapp/screens/StopWatch.h index 18b02069..ff604361 100644 --- a/src/displayapp/screens/StopWatch.h +++ b/src/displayapp/screens/StopWatch.h @@ -54,7 +54,7 @@ namespace Pinetime::Applications::Screens { return nullptr; } - private: + private: std::array buffer; uint8_t currentSize; uint8_t capacity; @@ -62,7 +62,7 @@ namespace Pinetime::Applications::Screens { }; class StopWatch : public Screen { - public: + public: StopWatch(DisplayApp* app); ~StopWatch() override; bool Refresh() override; @@ -70,7 +70,7 @@ namespace Pinetime::Applications::Screens { void playPauseBtnEventHandler(lv_event_t event); void stopLapBtnEventHandler(lv_event_t event); - private: + private: bool running; States currentState; Events currentEvent; diff --git a/src/displayapp/screens/SystemInfo.h b/src/displayapp/screens/SystemInfo.h index 463b8b9c..c0c65554 100644 --- a/src/displayapp/screens/SystemInfo.h +++ b/src/displayapp/screens/SystemInfo.h @@ -21,7 +21,7 @@ namespace Pinetime { namespace Screens { class SystemInfo : public Screen { - public: + public: explicit SystemInfo(DisplayApp* app, Pinetime::Controllers::DateTime& dateTimeController, Pinetime::Controllers::Battery& batteryController, @@ -33,7 +33,7 @@ namespace Pinetime { bool OnButtonPushed() override; bool OnTouchEvent(TouchEvents event) override; - private: + private: bool running = true; Pinetime::Controllers::DateTime& dateTimeController; diff --git a/src/displayapp/screens/Tile.h b/src/displayapp/screens/Tile.h index a372a852..4ebd81cd 100644 --- a/src/displayapp/screens/Tile.h +++ b/src/displayapp/screens/Tile.h @@ -14,7 +14,7 @@ namespace Pinetime { namespace Applications { namespace Screens { class Tile : public Screen { - public: + public: struct Applications { const char* icon; Pinetime::Applications::Apps application; @@ -34,7 +34,7 @@ namespace Pinetime { void UpdateScreen(); void OnObjectEvent(lv_obj_t* obj, lv_event_t event, uint32_t buttonId); - private: + private: Pinetime::Controllers::Battery& batteryController; Controllers::DateTime& dateTimeController; diff --git a/src/displayapp/screens/Twos.h b/src/displayapp/screens/Twos.h index ade5abb0..3367618f 100644 --- a/src/displayapp/screens/Twos.h +++ b/src/displayapp/screens/Twos.h @@ -11,14 +11,14 @@ namespace Pinetime { }; namespace Screens { class Twos : public Screen { - public: + public: Twos(DisplayApp* app); ~Twos() override; bool Refresh() override; bool OnTouchEvent(TouchEvents event) override; - private: + private: lv_style_t style_cell1; lv_style_t style_cell2; lv_style_t style_cell3; diff --git a/src/displayapp/screens/WatchFaceAnalog.h b/src/displayapp/screens/WatchFaceAnalog.h index 8957aca8..667f6241 100644 --- a/src/displayapp/screens/WatchFaceAnalog.h +++ b/src/displayapp/screens/WatchFaceAnalog.h @@ -22,7 +22,7 @@ namespace Pinetime { namespace Screens { class WatchFaceAnalog : public Screen { - public: + public: WatchFaceAnalog(DisplayApp* app, Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, @@ -34,7 +34,7 @@ namespace Pinetime { bool Refresh() override; - private: + private: uint8_t sHour, sMinute, sSecond; uint8_t hour; uint8_t minute; diff --git a/src/displayapp/screens/WatchFaceDigital.h b/src/displayapp/screens/WatchFaceDigital.h index fb6d9cbb..246efc95 100644 --- a/src/displayapp/screens/WatchFaceDigital.h +++ b/src/displayapp/screens/WatchFaceDigital.h @@ -22,7 +22,7 @@ namespace Pinetime { namespace Screens { class WatchFaceDigital : public Screen { - public: + public: WatchFaceDigital(DisplayApp* app, Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, @@ -37,7 +37,7 @@ namespace Pinetime { void OnObjectEvent(lv_obj_t* pObj, lv_event_t i); - private: + private: char displayedChar[5]; uint16_t currentYear = 1970; diff --git a/src/displayapp/screens/settings/QuickSettings.h b/src/displayapp/screens/settings/QuickSettings.h index 693fd757..8d04bec3 100644 --- a/src/displayapp/screens/settings/QuickSettings.h +++ b/src/displayapp/screens/settings/QuickSettings.h @@ -16,7 +16,7 @@ namespace Pinetime { namespace Screens { class QuickSettings : public Screen { - public: + public: QuickSettings(DisplayApp* app, Pinetime::Controllers::Battery& batteryController, Controllers::DateTime& dateTimeController, @@ -32,7 +32,7 @@ namespace Pinetime { void UpdateScreen(); - private: + private: Pinetime::Controllers::Battery& batteryController; Controllers::DateTime& dateTimeController; Controllers::BrightnessController& brightness; diff --git a/src/displayapp/screens/settings/SettingDisplay.h b/src/displayapp/screens/settings/SettingDisplay.h index ecd84465..b8ed87ec 100644 --- a/src/displayapp/screens/settings/SettingDisplay.h +++ b/src/displayapp/screens/settings/SettingDisplay.h @@ -11,14 +11,14 @@ namespace Pinetime { namespace Screens { class SettingDisplay : public Screen { - public: + public: SettingDisplay(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); ~SettingDisplay() override; bool Refresh() override; void UpdateSelected(lv_obj_t* object, lv_event_t event); - private: + private: Controllers::Settings& settingsController; uint8_t optionsTotal; lv_obj_t* cbOption[4]; diff --git a/src/displayapp/screens/settings/SettingTimeFormat.h b/src/displayapp/screens/settings/SettingTimeFormat.h index df08a944..9203b45b 100644 --- a/src/displayapp/screens/settings/SettingTimeFormat.h +++ b/src/displayapp/screens/settings/SettingTimeFormat.h @@ -11,14 +11,14 @@ namespace Pinetime { namespace Screens { class SettingTimeFormat : public Screen { - public: + public: SettingTimeFormat(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); ~SettingTimeFormat() override; bool Refresh() override; void UpdateSelected(lv_obj_t* object, lv_event_t event); - private: + private: Controllers::Settings& settingsController; uint8_t optionsTotal; lv_obj_t* cbOption[2]; diff --git a/src/displayapp/screens/settings/SettingWakeUp.h b/src/displayapp/screens/settings/SettingWakeUp.h index 4f476b0c..8b33eb06 100644 --- a/src/displayapp/screens/settings/SettingWakeUp.h +++ b/src/displayapp/screens/settings/SettingWakeUp.h @@ -11,14 +11,14 @@ namespace Pinetime { namespace Screens { class SettingWakeUp : public Screen { - public: + public: SettingWakeUp(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); ~SettingWakeUp() override; bool Refresh() override; void UpdateSelected(lv_obj_t* object, lv_event_t event); - private: + private: Controllers::Settings& settingsController; uint8_t optionsTotal; lv_obj_t* cbOption[4]; diff --git a/src/displayapp/screens/settings/SettingWatchFace.h b/src/displayapp/screens/settings/SettingWatchFace.h index 0963b4ca..1930a228 100644 --- a/src/displayapp/screens/settings/SettingWatchFace.h +++ b/src/displayapp/screens/settings/SettingWatchFace.h @@ -11,14 +11,14 @@ namespace Pinetime { namespace Screens { class SettingWatchFace : public Screen { - public: + public: SettingWatchFace(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); ~SettingWatchFace() override; bool Refresh() override; void UpdateSelected(lv_obj_t* object, lv_event_t event); - private: + private: Controllers::Settings& settingsController; uint8_t optionsTotal; lv_obj_t* cbOption[2]; diff --git a/src/displayapp/screens/settings/Settings.h b/src/displayapp/screens/settings/Settings.h index 1cec2b09..7e332dfe 100644 --- a/src/displayapp/screens/settings/Settings.h +++ b/src/displayapp/screens/settings/Settings.h @@ -10,7 +10,7 @@ namespace Pinetime { namespace Screens { class Settings : public Screen { - public: + public: Settings(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); ~Settings() override; @@ -19,7 +19,7 @@ namespace Pinetime { void OnButtonEvent(lv_obj_t* object, lv_event_t event); bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override; - private: + private: Controllers::Settings& settingsController; ScreenList<2> screens; diff --git a/src/drivers/Bma421.h b/src/drivers/Bma421.h index 3287ed9e..e4d925f5 100644 --- a/src/drivers/Bma421.h +++ b/src/drivers/Bma421.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Drivers { class TwiMaster; class Bma421 { - public: + public: struct Values { uint32_t steps; int16_t x; @@ -30,7 +30,7 @@ namespace Pinetime { bool IsOk() const; - private: + private: void Reset(); TwiMaster& twiMaster; diff --git a/src/drivers/BufferProvider.h b/src/drivers/BufferProvider.h index fac03bdc..53571133 100644 --- a/src/drivers/BufferProvider.h +++ b/src/drivers/BufferProvider.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Drivers { class BufferProvider { - public: + public: virtual bool GetNextBuffer(uint8_t** buffer, size_t& size) = 0; }; } diff --git a/src/drivers/Cst816s.h b/src/drivers/Cst816s.h index 7664a83e..14c296ea 100644 --- a/src/drivers/Cst816s.h +++ b/src/drivers/Cst816s.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Drivers { class Cst816S { - public: + public: enum class Gestures : uint8_t { None = 0x00, SlideDown = 0x01, @@ -38,7 +38,7 @@ namespace Pinetime { void Sleep(); void Wakeup(); - private: + private: static constexpr uint8_t pinIrq = 28; static constexpr uint8_t pinReset = 10; static constexpr uint8_t lastTouchId = 0x0f; diff --git a/src/drivers/Hrs3300.h b/src/drivers/Hrs3300.h index cf87f378..c4f28900 100644 --- a/src/drivers/Hrs3300.h +++ b/src/drivers/Hrs3300.h @@ -5,7 +5,7 @@ namespace Pinetime { namespace Drivers { class Hrs3300 { - public: + public: enum class Registers : uint8_t { Id = 0x00, Enable = 0x01, @@ -35,7 +35,7 @@ namespace Pinetime { void SetGain(uint8_t gain); void SetDrive(uint8_t drive); - private: + private: TwiMaster& twiMaster; uint8_t twiAddress; diff --git a/src/drivers/InternalFlash.h b/src/drivers/InternalFlash.h index cbf9a20b..3a3c79dc 100644 --- a/src/drivers/InternalFlash.h +++ b/src/drivers/InternalFlash.h @@ -5,11 +5,11 @@ namespace Pinetime { namespace Drivers { class InternalFlash { - public: + public: static void ErasePage(uint32_t address); static void WriteWord(uint32_t address, uint32_t value); - private: + private: static inline void Wait(); }; } diff --git a/src/drivers/Spi.h b/src/drivers/Spi.h index 27000755..6875710d 100644 --- a/src/drivers/Spi.h +++ b/src/drivers/Spi.h @@ -6,7 +6,7 @@ namespace Pinetime { namespace Drivers { class Spi { - public: + public: Spi(SpiMaster& spiMaster, uint8_t pinCsn); Spi(const Spi&) = delete; Spi& operator=(const Spi&) = delete; @@ -20,7 +20,7 @@ namespace Pinetime { void Sleep(); void Wakeup(); - private: + private: SpiMaster& spiMaster; uint8_t pinCsn; }; diff --git a/src/drivers/SpiMaster.h b/src/drivers/SpiMaster.h index aa037504..dfc195b7 100644 --- a/src/drivers/SpiMaster.h +++ b/src/drivers/SpiMaster.h @@ -9,7 +9,7 @@ namespace Pinetime { namespace Drivers { class SpiMaster { - public: + public: ; enum class SpiModule : uint8_t { SPI0, SPI1 }; enum class BitOrder : uint8_t { Msb_Lsb, Lsb_Msb }; @@ -42,7 +42,7 @@ namespace Pinetime { void Sleep(); void Wakeup(); - private: + private: void SetupWorkaroundForFtpan58(NRF_SPIM_Type* spim, uint32_t ppi_channel, uint32_t gpiote_channel); void DisableWorkaroundForFtpan58(NRF_SPIM_Type* spim, uint32_t ppi_channel, uint32_t gpiote_channel); void PrepareTx(const volatile uint32_t bufferAddress, const volatile size_t size); diff --git a/src/drivers/SpiNorFlash.h b/src/drivers/SpiNorFlash.h index 77a470b7..ed6ab315 100644 --- a/src/drivers/SpiNorFlash.h +++ b/src/drivers/SpiNorFlash.h @@ -6,7 +6,7 @@ namespace Pinetime { namespace Drivers { class Spi; class SpiNorFlash { - public: + public: explicit SpiNorFlash(Spi& spi); SpiNorFlash(const SpiNorFlash&) = delete; SpiNorFlash& operator=(const SpiNorFlash&) = delete; @@ -38,7 +38,7 @@ namespace Pinetime { void Sleep(); void Wakeup(); - private: + private: enum class Commands : uint8_t { PageProgram = 0x02, Read = 0x03, diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index cea9cf19..4fbccbeb 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -6,7 +6,7 @@ namespace Pinetime { namespace Drivers { class Spi; class St7789 { - public: + public: explicit St7789(Spi& spi, uint8_t pinDataCommand); St7789(const St7789&) = delete; St7789& operator=(const St7789&) = delete; @@ -28,7 +28,7 @@ namespace Pinetime { void Sleep(); void Wakeup(); - private: + private: Spi& spi; uint8_t pinDataCommand; uint8_t verticalScrollingStartAddress = 0; diff --git a/src/drivers/TwiMaster.h b/src/drivers/TwiMaster.h index fc3bd2a7..1c0648a2 100644 --- a/src/drivers/TwiMaster.h +++ b/src/drivers/TwiMaster.h @@ -7,7 +7,7 @@ namespace Pinetime { namespace Drivers { class TwiMaster { - public: + public: enum class Modules { TWIM1 }; enum class Frequencies { Khz100, Khz250, Khz400 }; enum class ErrorCodes { NoError, TransactionFailed }; @@ -26,7 +26,7 @@ namespace Pinetime { void Sleep(); void Wakeup(); - private: + private: ErrorCodes Read(uint8_t deviceAddress, uint8_t* buffer, size_t size, bool stop); ErrorCodes Write(uint8_t deviceAddress, const uint8_t* data, size_t size, bool stop); void FixHwFreezed(); diff --git a/src/drivers/Watchdog.h b/src/drivers/Watchdog.h index f1741892..03807d61 100644 --- a/src/drivers/Watchdog.h +++ b/src/drivers/Watchdog.h @@ -4,7 +4,7 @@ namespace Pinetime { namespace Drivers { class Watchdog { - public: + public: enum class ResetReasons { ResetPin, Watchdog, SoftReset, CpuLockup, SystemOff, LpComp, DebugInterface, NFC, HardReset }; void Setup(uint8_t timeoutSeconds); void Start(); @@ -14,20 +14,20 @@ namespace Pinetime { } static const char* ResetReasonToString(ResetReasons reason); - private: + private: ResetReasons resetReason; ResetReasons ActualResetReason() const; }; class WatchdogView { - public: + public: WatchdogView(const Watchdog& watchdog) : watchdog {watchdog} { } Watchdog::ResetReasons ResetReason() const { return watchdog.ResetReason(); } - private: + private: const Watchdog& watchdog; }; } diff --git a/src/systemtask/SystemMonitor.h b/src/systemtask/SystemMonitor.h index d24e9bf7..45c02c2c 100644 --- a/src/systemtask/SystemMonitor.h +++ b/src/systemtask/SystemMonitor.h @@ -9,18 +9,18 @@ namespace Pinetime { struct FreeRtosMonitor {}; template class SystemMonitor { - public: + public: SystemMonitor() = delete; }; template <> class SystemMonitor { - public: + public: void Process() const { } }; template <> class SystemMonitor { - public: + public: void Process() const { if (xTaskGetTickCount() - lastTick > 10000) { NRF_LOG_INFO("---------------------------------------\nFree heap : %d", xPortGetFreeHeapSize()); @@ -36,7 +36,7 @@ namespace Pinetime { } } - private: + private: mutable TickType_t lastTick = 0; mutable TaskStatus_t tasksStatus[10]; }; diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index 67e62a2d..e65fbea0 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -38,7 +38,7 @@ namespace Pinetime { } namespace System { class SystemTask { - public: + public: enum class Messages { GoToSleep, GoToRunning, @@ -83,7 +83,7 @@ namespace Pinetime { return nimbleController; }; - private: + private: TaskHandle_t taskHandle; Pinetime::Drivers::SpiMaster& spi; -- cgit v1.2.3