diff --git a/spi.hpp b/spi.hpp index e8f7723..f5267ac 100644 --- a/spi.hpp +++ b/spi.hpp @@ -1,9 +1,12 @@ #pragma once #include "../inout/inout.h" + #include -class SPI { +namespace spi { + +class Spi { public: enum class ClockDiv { CLKDIV_4 = 0, @@ -48,13 +51,13 @@ class SPI { }; ////////////////////////////////////////////////////////////////////////// -InOutPin SPI::sm_cSCK; -InOutPin SPI::sm_cMISO; -InOutPin SPI::sm_cMOSI; -InOutPin SPI::sm_cSS; +InOutPin Spi::sm_cSCK; +InOutPin Spi::sm_cMISO; +InOutPin Spi::sm_cMOSI; +InOutPin Spi::sm_cSS; ////////////////////////////////////////////////////////////////////////// -void SPI::setCPOL(bool bCPOL) +void Spi::setCPOL(bool bCPOL) { if (bCPOL) { SPCR |= (1 << CPOL); @@ -64,7 +67,7 @@ void SPI::setCPOL(bool bCPOL) } ////////////////////////////////////////////////////////////////////////// -void SPI::setCPHA(bool bCPHA) +void Spi::setCPHA(bool bCPHA) { if (bCPHA) { SPCR |= (1 << CPHA); @@ -74,7 +77,7 @@ void SPI::setCPHA(bool bCPHA) } ////////////////////////////////////////////////////////////////////////// -void SPI::init(ClockDiv enmClockDiv /* = ClockDiv::CLKDIV_128 */, Mode enmMode /* = Mode::MODE_0 */, +void Spi::init(ClockDiv enmClockDiv /* = ClockDiv::CLKDIV_128 */, Mode enmMode /* = Mode::MODE_0 */, bool bMaster /* = true */, bool bLSBFirst /* = false */, bool bMISOPullup /* = false */) { sm_cSCK.setPin(sm_enmSCK); @@ -105,7 +108,7 @@ void SPI::init(ClockDiv enmClockDiv /* = ClockDiv::CLKDIV_128 */, Mode enmMode / } ////////////////////////////////////////////////////////////////////////// -void SPI::deinit() +void Spi::deinit() { SPCR = 0; @@ -116,7 +119,7 @@ void SPI::deinit() } ////////////////////////////////////////////////////////////////////////// -void SPI::setClockDiv(ClockDiv enmClockDiv) +void Spi::setClockDiv(ClockDiv enmClockDiv) { uint8_t ui8ClockDiv = static_cast(enmClockDiv); @@ -140,7 +143,7 @@ void SPI::setClockDiv(ClockDiv enmClockDiv) } ////////////////////////////////////////////////////////////////////////// -void SPI::setMode(Mode enmMode) +void Spi::setMode(Mode enmMode) { if (enmMode == Mode::MODE_0 || enmMode == Mode::MODE_1) { setCPOL(false); @@ -156,7 +159,7 @@ void SPI::setMode(Mode enmMode) } ////////////////////////////////////////////////////////////////////////// -void SPI::setMaster(bool bMaster) +void Spi::setMaster(bool bMaster) { if (bMaster) { SPCR |= (1 << MSTR); @@ -166,7 +169,7 @@ void SPI::setMaster(bool bMaster) } ////////////////////////////////////////////////////////////////////////// -void SPI::setBitOrder(bool bLSBFirst) +void Spi::setBitOrder(bool bLSBFirst) { if (bLSBFirst) { SPCR |= (1 << DORD); @@ -176,7 +179,7 @@ void SPI::setBitOrder(bool bLSBFirst) } ////////////////////////////////////////////////////////////////////////// -uint8_t SPI::transfer(uint8_t ui8Data) +uint8_t Spi::transfer(uint8_t ui8Data) { SPDR = ui8Data; while (!(SPSR & (1 << SPIF))) @@ -185,7 +188,9 @@ uint8_t SPI::transfer(uint8_t ui8Data) } ////////////////////////////////////////////////////////////////////////// -void SPI::select(bool bSelect) +void Spi::select(bool bSelect) { sm_cSS.write(!bSelect); } + +} // namespace spi