summaryrefslogtreecommitdiff
path: root/src/drivers/Spi.cpp
diff options
context:
space:
mode:
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 0000000..76490ae
--- /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;
+}
+
+