summaryrefslogtreecommitdiff
path: root/src/drivers/Spi.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-05-07 19:53:51 +0200
committerJF <jf@codingfield.com>2020-05-07 19:53:51 +0200
commit0b8e6c3fa20457bce931b1d289f187e46fc68307 (patch)
tree5c2f7ba6c10e380eaa60c2ce15e65637535c8178 /src/drivers/Spi.cpp
parentf96c048debc84bf2ccd10c4e7356e8e20df9bb3a (diff)
Add SPI NOR Flash driver, WIP.
Diffstat (limited to 'src/drivers/Spi.cpp')
-rw-r--r--src/drivers/Spi.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/drivers/Spi.cpp b/src/drivers/Spi.cpp
new file mode 100644
index 00000000..76490aed
--- /dev/null
+++ b/src/drivers/Spi.cpp
@@ -0,0 +1,29 @@
+#include <hal/nrf_gpio.h>
+#include "Spi.h"
+
+using namespace Pinetime::Drivers;
+
+Spi::Spi(SpiMaster& spiMaster, uint8_t pinCsn) :
+ spiMaster{spiMaster}, pinCsn{pinCsn} {
+
+}
+
+bool Spi::Write(const uint8_t *data, size_t size) {
+ return spiMaster.Write(pinCsn, data, size);
+}
+
+bool Spi::Read(uint8_t *data, size_t size) {
+ return spiMaster.Read(pinCsn, data, size);
+}
+
+void Spi::Sleep() {
+ // TODO sleep spi
+ nrf_gpio_cfg_default(pinCsn);
+}
+
+bool Spi::Init() {
+ nrf_gpio_pin_set(pinCsn); /* disable Set slave select (inactive high) */
+ return true;
+}
+
+