diff options
| author | Joaquim <joaquim.org@gmail.com> | 2021-04-26 20:29:48 (GMT) |
|---|---|---|
| committer | Joaquim <joaquim.org@gmail.com> | 2021-04-26 20:29:48 (GMT) |
| commit | cd0d85dff95bbc5f285d92eb78a642aab1ae4b8b (patch) | |
| tree | fc568aa2516c8c64cc55eb0d08e9a929c11b454a /src/drivers/TwiMaster.h | |
| parent | 5fc07a8df7d18d1fa9c4971f2c7b69ea68db559b (diff) | |
| parent | eedff2c06c292bda8dcb92fc04c67097fe72e22f (diff) | |
Merge branch 'develop' of
https://github.com/JF002/InfiniTime into StepsApp
Diffstat (limited to 'src/drivers/TwiMaster.h')
| -rw-r--r-- | src/drivers/TwiMaster.h | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/src/drivers/TwiMaster.h b/src/drivers/TwiMaster.h index f3c87b0..1c0648a 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 |
