summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2021-02-16 18:37:11 -0600
committerJeff Epler <jepler@gmail.com>2021-02-18 11:32:47 -0600
commit9cf7d73c6c71df1e43d11d4f2f604a76f59365a8 (patch)
tree06f676ac782f7e2ca9f627f5cc2abb513e13acd1 /py
parent261b077209bc668de843015e4f5c26e474214769 (diff)
core: add bit_transpose function
.. this version can only handle exactly 8 bits "across". The restriction may be relaxed in a future revision.
Diffstat (limited to 'py')
-rw-r--r--py/circuitpy_defns.mk5
-rw-r--r--py/circuitpy_mpconfig.h9
-rw-r--r--py/circuitpy_mpconfig.mk3
3 files changed, 17 insertions, 0 deletions
diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk
index f907bf7ae..e04031e5a 100644
--- a/py/circuitpy_defns.mk
+++ b/py/circuitpy_defns.mk
@@ -132,6 +132,10 @@ endif
ifeq ($(CIRCUITPY_AUDIOMP3),1)
SRC_PATTERNS += audiomp3/%
endif
+ifeq ($(CIRCUITPY_BIT_TRANSPOSE),1)
+$(info BIT_TRANSPOSE enabled)
+SRC_PATTERNS += _bit_transpose/%
+endif
ifeq ($(CIRCUITPY_BITBANGIO),1)
SRC_PATTERNS += bitbangio/%
endif
@@ -440,6 +444,7 @@ SRC_BINDINGS_ENUMS += \
util.c
SRC_SHARED_MODULE_ALL = \
+ _bit_transpose/__init__.c \
_bleio/Address.c \
_bleio/Attribute.c \
_bleio/ScanEntry.c \
diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h
index ee23c7156..be95eabe2 100644
--- a/py/circuitpy_mpconfig.h
+++ b/py/circuitpy_mpconfig.h
@@ -299,6 +299,14 @@ extern const struct _mp_obj_module_t audiopwmio_module;
#define BINASCII_MODULE
#endif
+#if CIRCUITPY_BIT_TRANSPOSE
+extern const struct _mp_obj_module_t bit_transpose_module;
+#define BIT_TRANSPOSE_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__bit_transpose),(mp_obj_t)&bit_transpose_module },
+#else
+#define BIT_TRANSPOSE_MODULE
+#endif
+
+
#if CIRCUITPY_BITBANGIO
#define BITBANGIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_bitbangio), (mp_obj_t)&bitbangio_module },
extern const struct _mp_obj_module_t bitbangio_module;
@@ -819,6 +827,7 @@ extern const struct _mp_obj_module_t msgpack_module;
AUDIOMP3_MODULE \
AUDIOPWMIO_MODULE \
BINASCII_MODULE \
+ BIT_TRANSPOSE_MODULE \
BITBANGIO_MODULE \
BLEIO_MODULE \
BOARD_MODULE \
diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk
index d9c7c0d33..f06e99b57 100644
--- a/py/circuitpy_mpconfig.mk
+++ b/py/circuitpy_mpconfig.mk
@@ -89,6 +89,9 @@ CFLAGS += -DCIRCUITPY_AUDIOMP3=$(CIRCUITPY_AUDIOMP3)
CIRCUITPY_BINASCII ?= $(CIRCUITPY_FULL_BUILD)
CFLAGS += -DCIRCUITPY_BINASCII=$(CIRCUITPY_BINASCII)
+CIRCUITPY_BIT_TRANSPOSE ?= 0
+CFLAGS += -DCIRCUITPY_BIT_TRANSPOSE=$(CIRCUITPY_BIT_TRANSPOSE)
+
CIRCUITPY_BITBANGIO ?= $(CIRCUITPY_FULL_BUILD)
CFLAGS += -DCIRCUITPY_BITBANGIO=$(CIRCUITPY_BITBANGIO)