diff options
| author | Riku Isokoski <riksu9000@gmail.com> | 2021-08-16 15:26:10 (GMT) |
|---|---|---|
| committer | Riku Isokoski <riksu9000@gmail.com> | 2021-08-16 15:26:10 (GMT) |
| commit | 81a36dc31ed22237e3cc06c8f4ba2a5cbcf07f8e (patch) | |
| tree | 45b8d7b4f57c8aef10f453aaf84e3870ae994b46 /src/drivers/TwiMaster.h | |
| parent | 1d341a7aeb16acb45f25b16590630efd655ecd30 (diff) | |
Simplify parameters and cleanup
Diffstat (limited to 'src/drivers/TwiMaster.h')
| -rw-r--r-- | src/drivers/TwiMaster.h | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/drivers/TwiMaster.h b/src/drivers/TwiMaster.h index b8d36d5..30ac6c5 100644 --- a/src/drivers/TwiMaster.h +++ b/src/drivers/TwiMaster.h @@ -8,16 +8,9 @@ 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; - }; - TwiMaster(const Modules module, const Parameters& params); + TwiMaster(NRF_TWIM_Type* module, uint32_t frequency, uint8_t pinSda, uint8_t pinScl); void Init(); ErrorCodes Read(uint8_t deviceAddress, uint8_t registerAddress, uint8_t* buffer, size_t size); @@ -26,16 +19,18 @@ namespace Pinetime { void Sleep(); void Wakeup(); - void ConfigurePins() const; - 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(); + void ConfigurePins() const; + NRF_TWIM_Type* twiBaseAddress; SemaphoreHandle_t mutex = nullptr; - const Modules module; - const Parameters params; + NRF_TWIM_Type* module; + uint32_t frequency; + uint8_t pinSda; + uint8_t pinScl; static constexpr uint8_t maxDataSize {16}; static constexpr uint8_t registerSize {1}; uint8_t internalBuffer[maxDataSize + registerSize]; |
