extmod: Add machine.bitstream.

This is a generic API for synchronously bit-banging data on a pin.

Initially this adds a single supported encoding, which supports controlling
WS2812 LEDs.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
Jim Mussared
2021-08-10 01:09:04 +10:00
committed by Damien George
parent 226c0341ca
commit 870000f35b
5 changed files with 109 additions and 0 deletions

View File

@@ -1470,6 +1470,11 @@ typedef double mp_float_t;
#define MICROPY_PY_MACHINE (0)
#endif
// Whether to include: bitstream
#ifndef MICROPY_PY_MACHINE_BITSTREAM
#define MICROPY_PY_MACHINE_BITSTREAM (0)
#endif
// Whether to include: time_pulse_us
#ifndef MICROPY_PY_MACHINE_PULSE
#define MICROPY_PY_MACHINE_PULSE (0)

View File

@@ -184,6 +184,7 @@ PY_EXTMOD_O_BASENAME = \
extmod/moducryptolib.o \
extmod/modubinascii.o \
extmod/virtpin.o \
extmod/machine_bitstream.o \
extmod/machine_mem.o \
extmod/machine_pinbase.o \
extmod/machine_signal.o \