2019-10-30 02:00:09 -04:00
|
|
|
PROG ?= micropython-coverage
|
2019-10-22 20:20:07 -04:00
|
|
|
|
2020-04-02 21:55:14 -04:00
|
|
|
# Disable optimisations and enable assert() on coverage builds.
|
|
|
|
DEBUG ?= 1
|
2019-10-22 20:20:07 -04:00
|
|
|
|
2020-01-23 19:51:21 -05:00
|
|
|
CFLAGS += \
|
2019-10-22 20:20:07 -04:00
|
|
|
-fprofile-arcs -ftest-coverage \
|
2020-04-09 07:59:11 -04:00
|
|
|
-Wformat -Wmissing-declarations -Wmissing-prototypes \
|
2019-10-22 20:20:07 -04:00
|
|
|
-Wold-style-definition -Wpointer-arith -Wshadow -Wuninitialized -Wunused-parameter \
|
2020-10-21 05:13:47 -04:00
|
|
|
-DMICROPY_UNIX_COVERAGE \
|
|
|
|
-DMODULE_CEXAMPLE_ENABLED=1 -DMODULE_CPPEXAMPLE_ENABLED=1
|
2019-10-22 20:20:07 -04:00
|
|
|
|
2020-01-23 19:51:21 -05:00
|
|
|
LDFLAGS += -fprofile-arcs -ftest-coverage
|
2019-10-22 20:20:07 -04:00
|
|
|
|
2020-10-21 05:13:47 -04:00
|
|
|
USER_C_MODULES = $(TOP)/examples/usercmodule
|
2019-10-22 20:20:07 -04:00
|
|
|
|
|
|
|
MICROPY_VFS_FAT = 1
|
|
|
|
MICROPY_VFS_LFS1 = 1
|
|
|
|
MICROPY_VFS_LFS2 = 1
|
2021-05-04 14:40:55 -04:00
|
|
|
|
|
|
|
FROZEN_DIR=variants/coverage/frzstr
|
|
|
|
FROZEN_MPY_DIR=variants/coverage/frzmpy
|
2021-05-10 18:20:47 -04:00
|
|
|
|
2021-08-05 12:12:07 -04:00
|
|
|
SRC_QRIO := $(patsubst ../../%,%,$(wildcard ../../shared-bindings/qrio/*.c ../../shared-module/qrio/*.c ../../lib/quirc/lib/*.c))
|
|
|
|
SRC_C += $(SRC_QRIO)
|
|
|
|
|
|
|
|
CFLAGS += -DCIRCUITPY_QRIO=1
|
|
|
|
$(BUILD)/lib/quirc/lib/%.o: CFLAGS += -Wno-shadow -Wno-sign-compare -include shared-module/qrio/quirc_alloc.h
|
|
|
|
|
2021-11-12 11:30:40 -05:00
|
|
|
SRC_BITMAP := \
|
|
|
|
$(patsubst ../../%,%,$(wildcard ../../shared-bindings/gifio/*.c ../../shared-module/gifio/*.c)) \
|
|
|
|
shared/runtime/context_manager_helpers.c \
|
|
|
|
displayio_min.c \
|
|
|
|
shared-bindings/displayio/Bitmap.c \
|
|
|
|
shared-module/displayio/area.c \
|
|
|
|
shared-module/displayio/Bitmap.c \
|
|
|
|
shared-module/displayio/ColorConverter.c \
|
2021-11-12 11:41:46 -05:00
|
|
|
shared-bindings/bitmaptools/__init__.c \
|
|
|
|
shared-module/bitmaptools/__init__.c \
|
2021-11-12 11:30:40 -05:00
|
|
|
shared-bindings/util.c \
|
|
|
|
|
|
|
|
$(info $(SRC_BITMAP))
|
|
|
|
SRC_C += $(SRC_BITMAP)
|
|
|
|
|
2021-11-12 11:41:46 -05:00
|
|
|
CFLAGS += -DCIRCUITPY_GIFIO=1 -DCIRCUITPY_DISPLAYIO_UNIX=1 -DCIRCUITPY_BITMAPTOOLS=1
|
Implement gifio.GifWriter
This involves:
* Adding a new "L8" colorspace for colorconverters
* factoring out displayio_colorconverter_convert_pixel
* Making a minimal "colorspace only" version of displayio for the
unix port (testing purposes)
* fixing an error message
I only tested writing B&W animated images, with the following script:
```python
import displayio
import gifio
with gifio.GifWriter("foo.gif", 64, 64, displayio.Colorspace.L8) as g:
for i in range(0, 256, 14):
data = bytes([i, 255-i] * 32 + [255-i, i] * 32) * 32
print("add_frame")
g.add_frame(data)
# expected to raise an error, buffer is not big enough
with gifio.GifWriter("/dev/null", 64, 64, displayio.Colorspace.L8) as g:
g.add_frame(bytes([3,3,3]))
```
2021-10-21 12:45:11 -04:00
|
|
|
|
2020-10-29 02:33:34 -04:00
|
|
|
SRC_C += coverage.c
|
|
|
|
SRC_CXX += coveragecpp.cpp
|