diff options
author | JF <jf@codingfield.com> | 2020-01-18 20:53:32 +0100 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-01-18 20:53:32 +0100 |
commit | 2b3e6b1cde7151bea57d56f3909ff5f340c4610b (patch) | |
tree | 2b7da1b7374b1dc16252ebfb397df81f7305ade2 /src/drivers | |
parent | 86d9f6e6c8cd7d90bb53e8b4e02af2a5e5108482 (diff) |
Refactor ctor() and Ini() of SpiMaster.
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/SpiMaster.cpp | 17 | ||||
-rw-r--r-- | src/drivers/SpiMaster.h | 8 |
2 files changed, 14 insertions, 11 deletions
diff --git a/src/drivers/SpiMaster.cpp b/src/drivers/SpiMaster.cpp index 5e49f2a7..42d3d77b 100644 --- a/src/drivers/SpiMaster.cpp +++ b/src/drivers/SpiMaster.cpp @@ -3,10 +3,11 @@ using namespace Pinetime::Drivers; -bool SpiMaster::Init(const SpiMaster::SpiModule spi, const SpiMaster::Parameters ¶ms) { - configSpiModule = spi; - configParams = params; +SpiMaster::SpiMaster(const SpiMaster::SpiModule spi, const SpiMaster::Parameters ¶ms) : + spi{spi}, params{params} { +} +bool SpiMaster::Init() { /* Configure GPIO pins used for pselsck, pselmosi, pselmiso and pselss for SPI0 */ nrf_gpio_cfg_output(params.pinSCK); nrf_gpio_cfg_output(params.pinMOSI); @@ -94,12 +95,12 @@ void SpiMaster::Sleep() { while(NRF_SPI0->ENABLE != 0) { NRF_SPI0->ENABLE = (SPIM_ENABLE_ENABLE_Disabled << SPIM_ENABLE_ENABLE_Pos); } - nrf_gpio_cfg_default(configParams.pinSCK); - nrf_gpio_cfg_default(configParams.pinMOSI); - nrf_gpio_cfg_default(configParams.pinMISO); - nrf_gpio_cfg_default(configParams.pinCSN); + nrf_gpio_cfg_default(params.pinSCK); + nrf_gpio_cfg_default(params.pinMOSI); + nrf_gpio_cfg_default(params.pinMISO); + nrf_gpio_cfg_default(params.pinCSN); } void SpiMaster::Wakeup() { - Init(configSpiModule, configParams); + Init(); } diff --git a/src/drivers/SpiMaster.h b/src/drivers/SpiMaster.h index 4f39dc39..073501a8 100644 --- a/src/drivers/SpiMaster.h +++ b/src/drivers/SpiMaster.h @@ -20,7 +20,9 @@ namespace Pinetime { uint8_t pinMISO; uint8_t pinCSN; }; - bool Init(const SpiModule spi, const Parameters& params); + + SpiMaster(const SpiModule spi, const Parameters& params); + bool Init(); bool Write(const uint8_t* data, size_t size); void Sleep(); @@ -30,8 +32,8 @@ namespace Pinetime { NRF_SPI_Type * spiBaseAddress; uint8_t pinCsn; - SpiMaster::SpiModule configSpiModule; - SpiMaster::Parameters configParams; + SpiMaster::SpiModule spi; + SpiMaster::Parameters params; }; } } |