diff options
| author | JF <jf@codingfield.com> | 2020-06-07 12:17:45 (GMT) |
|---|---|---|
| committer | Gitea <gitea@fake.local> | 2020-06-07 12:17:45 (GMT) |
| commit | a0e73f5c1a1e652aa6270b7e42a73aee3d12ded6 (patch) | |
| tree | 6205dfb543bb22245d39a2f6e44d2c26cb381c10 /src/drivers/SpiMaster.h | |
| parent | 8a94750e30399bfb204cbec59a769d9d1b6b5baa (diff) | |
| parent | dbdb26ae1fa45cec88f1b9ea0353b3d0a3c39f56 (diff) | |
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/drivers/SpiMaster.h')
| -rw-r--r-- | src/drivers/SpiMaster.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/drivers/SpiMaster.h b/src/drivers/SpiMaster.h index 8a633b7..cd3193e 100644 --- a/src/drivers/SpiMaster.h +++ b/src/drivers/SpiMaster.h @@ -5,6 +5,7 @@ #include <array> #include <atomic> #include <task.h> +#include <semphr.h> #include "BufferProvider.h" #include <semphr.h> @@ -24,7 +25,6 @@ namespace Pinetime { uint8_t pinSCK; uint8_t pinMOSI; uint8_t pinMISO; - uint8_t pinCSN; }; SpiMaster(const SpiModule spi, const Parameters& params); @@ -34,7 +34,10 @@ namespace Pinetime { SpiMaster& operator=(SpiMaster&&) = delete; bool Init(); - bool Write(const uint8_t* data, size_t size); + bool Write(uint8_t pinCsn, const uint8_t* data, size_t size); + bool Read(uint8_t pinCsn, uint8_t* cmd, size_t cmdSize, uint8_t *data, size_t dataSize); + + bool WriteCmdAndBuffer(uint8_t pinCsn, const uint8_t* cmd, size_t cmdSize, const uint8_t *data, size_t dataSize); void OnStartedEvent(); void OnEndEvent(); @@ -46,6 +49,7 @@ namespace Pinetime { void SetupWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_channel, uint32_t gpiote_channel); void DisableWorkaroundForFtpan58(NRF_SPIM_Type *spim, uint32_t ppi_channel, uint32_t gpiote_channel); void PrepareTx(const volatile uint32_t bufferAddress, const volatile size_t size); + void PrepareRx(const volatile uint32_t cmdAddress, const volatile size_t cmdSize, const volatile uint32_t bufferAddress, const volatile size_t size); NRF_SPIM_Type * spiBaseAddress; uint8_t pinCsn; |
