summaryrefslogtreecommitdiff
path: root/src/drivers/TwiMaster.h
diff options
context:
space:
mode:
authorRiku Isokoski <riksu9000@gmail.com>2021-08-16 15:26:10 (GMT)
committerRiku Isokoski <riksu9000@gmail.com>2021-08-16 15:26:10 (GMT)
commit81a36dc31ed22237e3cc06c8f4ba2a5cbcf07f8e (patch)
tree45b8d7b4f57c8aef10f453aaf84e3870ae994b46 /src/drivers/TwiMaster.h
parent1d341a7aeb16acb45f25b16590630efd655ecd30 (diff)
Simplify parameters and cleanup
Diffstat (limited to 'src/drivers/TwiMaster.h')
-rw-r--r--src/drivers/TwiMaster.h19
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];