summaryrefslogtreecommitdiffstatshomepage
path: root/extmod/machine_spi.h
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-10-03 16:43:44 +1100
committerDamien George <damien.p.george@gmail.com>2016-10-03 16:43:44 +1100
commitd434ce3fca088959c4a4bf525b9d730ec9bdb7b4 (patch)
tree12e8b38116036759da7ce741c5be904bec58778d /extmod/machine_spi.h
parenta22a67661aa4f6309efa1e81b279629050fd1966 (diff)
downloadmicropython-d434ce3fca088959c4a4bf525b9d730ec9bdb7b4.tar.gz
micropython-d434ce3fca088959c4a4bf525b9d730ec9bdb7b4.zip
extmod/machine_spi: Factor out software SPI code from esp8266 to extmod.
Diffstat (limited to 'extmod/machine_spi.h')
-rw-r--r--extmod/machine_spi.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/extmod/machine_spi.h b/extmod/machine_spi.h
index 35a911d919..e1922c6e8b 100644
--- a/extmod/machine_spi.h
+++ b/extmod/machine_spi.h
@@ -28,12 +28,25 @@
#define MICROPY_INCLUDED_EXTMOD_MACHINE_SPI_H
#include "py/obj.h"
+#include "py/mphal.h"
// SPI protocol
typedef struct _mp_machine_spi_p_t {
void (*transfer)(mp_obj_base_t *obj, size_t len, const uint8_t *src, uint8_t *dest);
} mp_machine_spi_p_t;
+typedef struct _mp_machine_soft_spi_obj_t {
+ mp_obj_base_t base;
+ uint32_t baudrate;
+ uint8_t polarity;
+ uint8_t phase;
+ mp_hal_pin_obj_t sck;
+ mp_hal_pin_obj_t mosi;
+ mp_hal_pin_obj_t miso;
+} mp_machine_soft_spi_obj_t;
+
+void mp_machine_soft_spi_transfer(mp_obj_base_t *self, size_t len, const uint8_t *src, uint8_t *dest);
+
MP_DECLARE_CONST_FUN_OBJ(mp_machine_spi_read_obj);
MP_DECLARE_CONST_FUN_OBJ(mp_machine_spi_readinto_obj);
MP_DECLARE_CONST_FUN_OBJ(mp_machine_spi_write_obj);