aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/TwiMaster.h
diff options
context:
space:
mode:
authorhubmartin <hub.martin@gmail.com>2021-08-29 11:43:50 +0200
committerhubmartin <hub.martin@gmail.com>2021-08-29 11:43:50 +0200
commit8390d0ef7243261675aab3a5c19862eb3fc53e68 (patch)
treea8429e8d2a455df8afe152197119075b5789e9fb /src/drivers/TwiMaster.h
parent51c5257548efe678ec8e18d8cdea2476672f1238 (diff)
parent6c023785e53c507f7cb20703f5f3a221ea095068 (diff)
Merge branch 'develop' into pinmap
Diffstat (limited to 'src/drivers/TwiMaster.h')
-rw-r--r--src/drivers/TwiMaster.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/drivers/TwiMaster.h b/src/drivers/TwiMaster.h
index 6175b99b..30ac6c5f 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);
@@ -30,10 +23,14 @@ namespace Pinetime {
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];
@@ -41,4 +38,4 @@ namespace Pinetime {
static constexpr uint32_t HwFreezedDelay {161000};
};
}
-} \ No newline at end of file
+}