summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-04-15 15:01:24 -0500
committerJeff Epler <jepler@gmail.com>2020-04-17 18:44:07 -0500
commit5fcc6d62869310b2b1dd96279e5a121623e07aba (patch)
tree70a6bd5a8da25058d81ccc158619ca53b368039a
parent1b478bbae6145e8e4d4e97a7c72b730df292e602 (diff)
RGBMatrix: finish renaming from Protomatter
This gets all the purely internal references. Some uses of protomatter/Protomatter/PROTOMATTER remain, as they are references to symbols in the Protomatter C library itself.
-rw-r--r--ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/pycubed/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/winterbloom_big_honking_button/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.c10
-rw-r--r--ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.h12
-rw-r--r--ports/atmel-samd/mpconfigport.mk4
-rw-r--r--ports/atmel-samd/timer_handler.c4
-rw-r--r--ports/atmel-samd/timer_handler.h2
-rw-r--r--ports/nrf/common-hal/rgbmatrix/RGBMatrix.c12
-rw-r--r--ports/nrf/common-hal/rgbmatrix/RGBMatrix.h12
-rw-r--r--ports/nrf/mpconfigport.mk2
-rw-r--r--py/circuitpy_defns.mk4
-rw-r--r--py/circuitpy_mpconfig.h10
-rw-r--r--py/circuitpy_mpconfig.mk6
-rw-r--r--shared-bindings/rgbmatrix/RGBMatrix.c165
-rw-r--r--shared-bindings/rgbmatrix/RGBMatrix.h26
-rw-r--r--shared-bindings/rgbmatrix/__init__.c10
-rw-r--r--shared-module/displayio/__init__.c24
-rw-r--r--shared-module/displayio/__init__.h4
-rw-r--r--shared-module/rgbmatrix/RGBMatrix.c30
-rw-r--r--shared-module/rgbmatrix/allocator.h4
-rw-r--r--supervisor/shared/display.c10
24 files changed, 179 insertions, 182 deletions
diff --git a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk
index f7223790a..febd2a6c3 100644
--- a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk
@@ -14,7 +14,7 @@ CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_NETWORK = 0
-CIRCUITPY_PROTOMATTER = 0
+CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_AUDIOMP3 = 0
diff --git a/ports/atmel-samd/boards/pycubed/mpconfigboard.mk b/ports/atmel-samd/boards/pycubed/mpconfigboard.mk
index c14a29615..adaeecb89 100644
--- a/ports/atmel-samd/boards/pycubed/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/pycubed/mpconfigboard.mk
@@ -17,7 +17,7 @@ CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_GAMEPAD = 0
-CIRCUITPY_PROTOMATTER = 0
+CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_PS2IO = 0
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
diff --git a/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk b/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk
index 57eb7f1b9..fd6e25f6c 100644
--- a/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk
@@ -19,7 +19,7 @@ CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_FREQUENCYIO = 0
-CIRCUITPY_PROTOMATTER = 0
+CIRCUITPY_RGBMATRIX = 0
# Include these Python libraries in firmware.
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
diff --git a/ports/atmel-samd/boards/winterbloom_big_honking_button/mpconfigboard.mk b/ports/atmel-samd/boards/winterbloom_big_honking_button/mpconfigboard.mk
index 691c1c136..466e34591 100644
--- a/ports/atmel-samd/boards/winterbloom_big_honking_button/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/winterbloom_big_honking_button/mpconfigboard.mk
@@ -28,7 +28,7 @@ CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_NETWORK = 0
CIRCUITPY_TOUCHIO = 0
-CIRCUITPY_PROTOMATTER = 0
+CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_USB_HID = 0
CIRCUITPY_RTC = 0
diff --git a/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk b/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
index ed97aef4c..6a78a4ff9 100644
--- a/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
@@ -26,7 +26,7 @@ CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_NETWORK = 0
CIRCUITPY_TOUCHIO = 0
-CIRCUITPY_PROTOMATTER = 0
+CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_USB_HID = 0
diff --git a/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.c b/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.c
index aef17f10e..55b0c2f12 100644
--- a/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.c
+++ b/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.c
@@ -31,7 +31,7 @@
#include "samd/timers.h"
#include "timer_handler.h"
-void *common_hal_protomatter_timer_allocate() {
+void *common_hal_rgbmatrix_timer_allocate() {
uint8_t timer_index = find_free_timer();
if (timer_index == 0xff) {
return NULL;
@@ -49,16 +49,16 @@ static uint8_t tc_index_from_ptr(void* ptr) {
return 0xff;
}
-void common_hal_protomatter_timer_enable(void* ptr) {
+void common_hal_rgbmatrix_timer_enable(void* ptr) {
uint8_t timer_index = tc_index_from_ptr(ptr);
if (timer_index == 0xff) {
return;
}
- set_timer_handler(true, timer_index, TC_HANDLER_PROTOMATTER);
+ set_timer_handler(true, timer_index, TC_HANDLER_RGBMATRIX);
turn_on_clocks(true, timer_index, 1);
}
-void common_hal_protomatter_timer_disable(void* ptr) {
+void common_hal_rgbmatrix_timer_disable(void* ptr) {
uint8_t timer_index = tc_index_from_ptr(ptr);
if (timer_index == 0xff) {
return;
@@ -67,7 +67,7 @@ void common_hal_protomatter_timer_disable(void* ptr) {
tc_set_enable(ptr, false);
}
-void common_hal_protomatter_timer_free(void* ptr) {
+void common_hal_rgbmatrix_timer_free(void* ptr) {
uint8_t timer_index = tc_index_from_ptr(ptr);
if (timer_index == 0xff) {
return;
diff --git a/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.h b/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.h
index 8185bed0e..48de4dcb2 100644
--- a/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.h
+++ b/ports/atmel-samd/common-hal/rgbmatrix/RGBMatrix.h
@@ -24,12 +24,12 @@
* THE SOFTWARE.
*/
-#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PROTOMATTER_PROTOMATTER_H
-#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PROTOMATTER_PROTOMATTER_H
+#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_RGBMATRIX_RGBMATRIX_H
+#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_RGBMATRIX_RGBMATRIX_H
-void *common_hal_protomatter_timer_allocate(void);
-void common_hal_protomatter_timer_enable(void*);
-void common_hal_protomatter_timer_disable(void*);
-void common_hal_protomatter_timer_free(void*);
+void *common_hal_rgbmatrix_timer_allocate(void);
+void common_hal_rgbmatrix_timer_enable(void*);
+void common_hal_rgbmatrix_timer_disable(void*);
+void common_hal_rgbmatrix_timer_free(void*);
#endif
diff --git a/ports/atmel-samd/mpconfigport.mk b/ports/atmel-samd/mpconfigport.mk
index 61f7c206a..039263be7 100644
--- a/ports/atmel-samd/mpconfigport.mk
+++ b/ports/atmel-samd/mpconfigport.mk
@@ -70,9 +70,9 @@ CIRCUITPY_ULAB = 1
endif
endif
-ifndef CIRCUITPY_PROTOMATTER
+ifndef CIRCUITPY_RGBMATRIX
ifneq ($(CIRCUITPY_SMALL_BUILD),1)
-CIRCUITPY_PROTOMATTER = 1
+CIRCUITPY_RGBMATRIX = 1
endif
endif
diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c
index 598fad564..51c6f0a39 100644
--- a/ports/atmel-samd/timer_handler.c
+++ b/ports/atmel-samd/timer_handler.c
@@ -64,8 +64,8 @@ void shared_timer_handler(bool is_tc, uint8_t index) {
frequencyin_interrupt_handler(index);
#endif
break;
- case TC_HANDLER_PROTOMATTER:
- #if CIRCUITPY_PROTOMATTER
+ case TC_HANDLER_RGBMATRIX:
+ #if CIRCUITPY_RGBMATRIX
_PM_IRQ_HANDLER();
#endif
break;
diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h
index 646cd54ec..8115cd73b 100644
--- a/ports/atmel-samd/timer_handler.h
+++ b/ports/atmel-samd/timer_handler.h
@@ -30,7 +30,7 @@
#define TC_HANDLER_PULSEOUT 0x1
#define TC_HANDLER_PEW 0x2
#define TC_HANDLER_FREQUENCYIN 0x3
-#define TC_HANDLER_PROTOMATTER 0x4
+#define TC_HANDLER_RGBMATRIX 0x4
void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler);
void shared_timer_handler(bool is_tc, uint8_t index);
diff --git a/ports/nrf/common-hal/rgbmatrix/RGBMatrix.c b/ports/nrf/common-hal/rgbmatrix/RGBMatrix.c
index a04e14930..e13b761ab 100644
--- a/ports/nrf/common-hal/rgbmatrix/RGBMatrix.c
+++ b/ports/nrf/common-hal/rgbmatrix/RGBMatrix.c
@@ -32,18 +32,18 @@
extern void _PM_IRQ_HANDLER(void);
-void *common_hal_protomatter_timer_allocate() {
+void *common_hal_rgbmatrix_timer_allocate() {
nrfx_timer_t *timer = nrf_peripherals_allocate_timer_or_throw();
nrf_peripherals_timer_never_reset(timer);
return timer->p_reg;
}
-static void protomatter_event_handler(nrf_timer_event_t event_type, void *p_context) {
+static void rgbmatrix_event_handler(nrf_timer_event_t event_type, void *p_context) {
_PM_IRQ_HANDLER();
}
-void common_hal_protomatter_timer_enable(void* ptr) {
+void common_hal_rgbmatrix_timer_enable(void* ptr) {
nrfx_timer_t *timer = nrf_peripherals_timer_from_reg(ptr);
static const nrfx_timer_config_t timer_config = {
.frequency = NRF_TIMER_FREQ_16MHz,
@@ -52,15 +52,15 @@ void common_hal_protomatter_timer_enable(void* ptr) {
.interrupt_priority = NRFX_TIMER_DEFAULT_CONFIG_IRQ_PRIORITY,
.p_context = NULL,
};
- nrfx_timer_init(timer, &timer_config, &protomatter_event_handler);
+ nrfx_timer_init(timer, &timer_config, &rgbmatrix_event_handler);
}
-void common_hal_protomatter_timer_disable(void* ptr) {
+void common_hal_rgbmatrix_timer_disable(void* ptr) {
nrfx_timer_t *timer = nrf_peripherals_timer_from_reg(ptr);
nrfx_timer_uninit(timer);
}
-void common_hal_protomatter_timer_free(void* ptr) {
+void common_hal_rgbmatrix_timer_free(void* ptr) {
nrfx_timer_t *timer = nrf_peripherals_timer_from_reg(ptr);
nrf_peripherals_free_timer(timer);
}
diff --git a/ports/nrf/common-hal/rgbmatrix/RGBMatrix.h b/ports/nrf/common-hal/rgbmatrix/RGBMatrix.h
index 8185bed0e..48de4dcb2 100644
--- a/ports/nrf/common-hal/rgbmatrix/RGBMatrix.h
+++ b/ports/nrf/common-hal/rgbmatrix/RGBMatrix.h
@@ -24,12 +24,12 @@
* THE SOFTWARE.
*/
-#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PROTOMATTER_PROTOMATTER_H
-#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PROTOMATTER_PROTOMATTER_H
+#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_RGBMATRIX_RGBMATRIX_H
+#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_RGBMATRIX_RGBMATRIX_H
-void *common_hal_protomatter_timer_allocate(void);
-void common_hal_protomatter_timer_enable(void*);
-void common_hal_protomatter_timer_disable(void*);
-void common_hal_protomatter_timer_free(void*);
+void *common_hal_rgbmatrix_timer_allocate(void);
+void common_hal_rgbmatrix_timer_enable(void*);
+void common_hal_rgbmatrix_timer_disable(void*);
+void common_hal_rgbmatrix_timer_free(void*);
#endif
diff --git a/ports/nrf/mpconfigport.mk b/ports/nrf/mpconfigport.mk
index 5ca1f0f35..ec6850ebb 100644
--- a/ports/nrf/mpconfigport.mk
+++ b/ports/nrf/mpconfigport.mk
@@ -51,7 +51,7 @@ endif
# frequencyio not yet implemented
CIRCUITPY_FREQUENCYIO = 0
-CIRCUITPY_PROTOMATTER = 1
+CIRCUITPY_RGBMATRIX = 1
CIRCUITPY_FRAMEBUFFERIO = 1
# nRF52840-specific
diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk
index ad5a80dc7..78ab41e12 100644
--- a/py/circuitpy_defns.mk
+++ b/py/circuitpy_defns.mk
@@ -181,7 +181,7 @@ endif
ifeq ($(CIRCUITPY_PIXELBUF),1)
SRC_PATTERNS += _pixelbuf/%
endif
-ifeq ($(CIRCUITPY_PROTOMATTER),1)
+ifeq ($(CIRCUITPY_RGBMATRIX),1)
SRC_PATTERNS += rgbmatrix/%
endif
ifeq ($(CIRCUITPY_PULSEIO),1)
@@ -413,7 +413,7 @@ SRC_MOD += $(addprefix lib/mp3/src/, \
)
$(BUILD)/lib/mp3/src/buffers.o: CFLAGS += -include "py/misc.h" -D'MPDEC_ALLOCATOR(x)=m_malloc(x,0)' -D'MPDEC_FREE(x)=m_free(x)'
endif
-ifeq ($(CIRCUITPY_PROTOMATTER),1)
+ifeq ($(CIRCUITPY_RGBMATRIX),1)
SRC_MOD += $(addprefix lib/protomatter/, \
core.c \
)
diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h
index 7f1da2e30..497fd9523 100644
--- a/py/circuitpy_mpconfig.h
+++ b/py/circuitpy_mpconfig.h
@@ -461,11 +461,11 @@ extern const struct _mp_obj_module_t pixelbuf_module;
#define PIXELBUF_MODULE
#endif
-#if CIRCUITPY_PROTOMATTER
-extern const struct _mp_obj_module_t protomatter_module;
-#define PROTOMATTER_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_rgbmatrix),(mp_obj_t)&protomatter_module },
+#if CIRCUITPY_RGBMATRIX
+extern const struct _mp_obj_module_t rgbmatrix_module;
+#define RGBMATRIX_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_rgbmatrix),(mp_obj_t)&rgbmatrix_module },
#else
-#define PROTOMATTER_MODULE
+#define RGBMATRIX_MODULE
#endif
#if CIRCUITPY_PULSEIO
@@ -658,10 +658,10 @@ extern const struct _mp_obj_module_t ustack_module;
PEW_MODULE \
PIXELBUF_MODULE \
PS2IO_MODULE \
- PROTOMATTER_MODULE \
PULSEIO_MODULE \
RANDOM_MODULE \
RE_MODULE \
+ RGBMATRIX_MODULE \
ROTARYIO_MODULE \
RTC_MODULE \
SAMD_MODULE \
diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk
index ba94f9784..601f1c4e4 100644
--- a/py/circuitpy_mpconfig.mk
+++ b/py/circuitpy_mpconfig.mk
@@ -216,10 +216,10 @@ endif
CFLAGS += -DCIRCUITPY_PIXELBUF=$(CIRCUITPY_PIXELBUF)
# Only for SAMD boards for the moment
-ifndef CIRCUITPY_PROTOMATTER
-CIRCUITPY_PROTOMATTER = 0
+ifndef CIRCUITPY_RGBMATRIX
+CIRCUITPY_RGBMATRIX = 0
endif
-CFLAGS += -DCIRCUITPY_PROTOMATTER=$(CIRCUITPY_PROTOMATTER)
+CFLAGS += -DCIRCUITPY_RGBMATRIX=$(CIRCUITPY_RGBMATRIX)
ifndef CIRCUITPY_PULSEIO
CIRCUITPY_PULSEIO = $(CIRCUITPY_DEFAULT_BUILD)
diff --git a/shared-bindings/rgbmatrix/RGBMatrix.c b/shared-bindings/rgbmatrix/RGBMatrix.c
index 91b42b90d..3fa9d560e 100644
--- a/shared-bindings/rgbmatrix/RGBMatrix.c
+++ b/shared-bindings/rgbmatrix/RGBMatrix.c
@@ -163,19 +163,16 @@ STATIC void preflight_pins_or_throw(uint8_t clock_pin, uint8_t *rgb_pins, uint8_
//|
//| If a framebuffer is not passed in, one is allocated and initialized
//| to all black. In any case, the framebuffer can be retrieved
-//| by passing the protomatter object to memoryview().
+//| by passing the RGBMatrix object to memoryview().
//|
//| If doublebuffer is False, some memory is saved, but the display may
//| flicker during updates.
//|
-//| If a framebuffer is not passed in, one is allocated internally. To
-//| retrieve it, pass the protomatter object to memoryview().
-//|
//| A RGBMatrix is often used in conjunction with a
//| `framebufferio.FramebufferDisplay`.
//|
-STATIC mp_obj_t protomatter_protomatter_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
enum { ARG_width, ARG_bit_depth, ARG_rgb_list, ARG_addr_list,
ARG_clock_pin, ARG_latch_pin, ARG_output_enable_pin, ARG_doublebuffer, ARG_framebuffer, ARG_height };
static const mp_arg_t allowed_args[] = {
@@ -193,11 +190,11 @@ STATIC mp_obj_t protomatter_protomatter_make_new(const mp_obj_type_t *type, size
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
- // Because interrupt handlers point directly at protomatter objects,
+ // Because interrupt handlers point directly at rgbmatrix objects,
// it is NOT okay to move them to the long-lived pool later. Allocate
// them there to begin with, since generally they'll be long-lived anyway.
- protomatter_protomatter_obj_t *self = &allocate_display_bus_or_raise()->protomatter;
- self->base.type = &protomatter_Protomatter_type;
+ rgbmatrix_rgbmatrix_obj_t *self = &allocate_display_bus_or_raise()->rgbmatrix;
+ self->base.type = &rgbmatrix_RGBMatrix_type;
uint8_t rgb_count, addr_count;
uint8_t rgb_pins[MP_ARRAY_SIZE(self->rgb_pins)];
@@ -231,7 +228,7 @@ STATIC mp_obj_t protomatter_protomatter_make_new(const mp_obj_type_t *type, size
framebuffer = mp_obj_new_bytearray_of_zeros(bufsize);
}
- common_hal_protomatter_protomatter_construct(self,
+ common_hal_rgbmatrix_rgbmatrix_construct(self,
args[ARG_width].u_int,
args[ARG_bit_depth].u_int,
rgb_count, rgb_pins,
@@ -252,18 +249,18 @@ STATIC mp_obj_t protomatter_protomatter_make_new(const mp_obj_type_t *type, size
//| .. method:: deinit
//|
//| Free the resources (pins, timers, etc.) associated with this
-//| protomatter instance. After deinitialization, no further operations
+//| rgbmatrix instance. After deinitialization, no further operations
//| may be performed.
//|
-STATIC mp_obj_t protomatter_protomatter_deinit(mp_obj_t self_in) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
- common_hal_protomatter_protomatter_deinit(self);
+STATIC mp_obj_t rgbmatrix_rgbmatrix_deinit(mp_obj_t self_in) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
+ common_hal_rgbmatrix_rgbmatrix_deinit(self);
return mp_const_none;
}
-STATIC MP_DEFINE_CONST_FUN_OBJ_1(protomatter_protomatter_deinit_obj, protomatter_protomatter_deinit);
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(rgbmatrix_rgbmatrix_deinit_obj, rgbmatrix_rgbmatrix_deinit);
-static void check_for_deinit(protomatter_protomatter_obj_t *self) {
+static void check_for_deinit(rgbmatrix_rgbmatrix_obj_t *self) {
if (!self->core.rgbPins) {
raise_deinited_error();
}
@@ -274,30 +271,30 @@ static void check_for_deinit(protomatter_protomatter_obj_t *self) {
//| In the current implementation, 0.0 turns the display off entirely
//| and any other value up to 1.0 turns the display on fully.
//|
-STATIC mp_obj_t protomatter_protomatter_get_brightness(mp_obj_t self_in) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC mp_obj_t rgbmatrix_rgbmatrix_get_brightness(mp_obj_t self_in) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
check_for_deinit(self);
- return mp_obj_new_float(common_hal_protomatter_protomatter_get_paused(self)? 0.0f : 1.0f);
+ return mp_obj_new_float(common_hal_rgbmatrix_rgbmatrix_get_paused(self)? 0.0f : 1.0f);
}
-MP_DEFINE_CONST_FUN_OBJ_1(protomatter_protomatter_get_brightness_obj, protomatter_protomatter_get_brightness);
+MP_DEFINE_CONST_FUN_OBJ_1(rgbmatrix_rgbmatrix_get_brightness_obj, rgbmatrix_rgbmatrix_get_brightness);
-STATIC mp_obj_t protomatter_protomatter_set_brightness(mp_obj_t self_in, mp_obj_t value_in) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC mp_obj_t rgbmatrix_rgbmatrix_set_brightness(mp_obj_t self_in, mp_obj_t value_in) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
check_for_deinit(self);
mp_float_t brightness = mp_obj_get_float(value_in);
if (brightness < 0.0f || brightness > 1.0f) {
mp_raise_ValueError(translate("Brightness must be 0-1.0"));
}
- common_hal_protomatter_protomatter_set_paused(self_in, brightness <= 0);
+ common_hal_rgbmatrix_rgbmatrix_set_paused(self_in, brightness <= 0);
return mp_const_none;
}
-MP_DEFINE_CONST_FUN_OBJ_2(protomatter_protomatter_set_brightness_obj, protomatter_protomatter_set_brightness);
+MP_DEFINE_CONST_FUN_OBJ_2(rgbmatrix_rgbmatrix_set_brightness_obj, rgbmatrix_rgbmatrix_set_brightness);
-const mp_obj_property_t protomatter_protomatter_brightness_obj = {
+const mp_obj_property_t rgbmatrix_rgbmatrix_brightness_obj = {
.base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&protomatter_protomatter_get_brightness_obj,
- (mp_obj_t)&protomatter_protomatter_set_brightness_obj,
+ .proxy = {(mp_obj_t)&rgbmatrix_rgbmatrix_get_brightness_obj,
+ (mp_obj_t)&rgbmatrix_rgbmatrix_set_brightness_obj,
(mp_obj_t)&mp_const_none_obj},
};
@@ -306,27 +303,27 @@ const mp_obj_property_t protomatter_protomatter_brightness_obj = {
//| Transmits the color data in the buffer to the pixels so that
//| they are shown.
//|
-STATIC mp_obj_t protomatter_protomatter_refresh(mp_obj_t self_in) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC mp_obj_t rgbmatrix_rgbmatrix_refresh(mp_obj_t self_in) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
check_for_deinit(self);
- common_hal_protomatter_protomatter_refresh(self);
+ common_hal_rgbmatrix_rgbmatrix_refresh(self);
return mp_const_none;
}
-MP_DEFINE_CONST_FUN_OBJ_1(protomatter_protomatter_refresh_obj, protomatter_protomatter_refresh);
+MP_DEFINE_CONST_FUN_OBJ_1(rgbmatrix_rgbmatrix_refresh_obj, rgbmatrix_rgbmatrix_refresh);
//| .. attribute:: width
//|
//| The width of the display, in pixels
//|
-STATIC mp_obj_t protomatter_protomatter_get_width(mp_obj_t self_in) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC mp_obj_t rgbmatrix_rgbmatrix_get_width(mp_obj_t self_in) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
check_for_deinit(self);
- return MP_OBJ_NEW_SMALL_INT(common_hal_protomatter_protomatter_get_width(self));
+ return MP_OBJ_NEW_SMALL_INT(common_hal_rgbmatrix_rgbmatrix_get_width(self));
}
-MP_DEFINE_CONST_FUN_OBJ_1(protomatter_protomatter_get_width_obj, protomatter_protomatter_get_width);
-const mp_obj_property_t protomatter_protomatter_width_obj = {
+MP_DEFINE_CONST_FUN_OBJ_1(rgbmatrix_rgbmatrix_get_width_obj, rgbmatrix_rgbmatrix_get_width);
+const mp_obj_property_t rgbmatrix_rgbmatrix_width_obj = {
.base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&protomatter_protomatter_get_width_obj,
+ .proxy = {(mp_obj_t)&rgbmatrix_rgbmatrix_get_width_obj,
(mp_obj_t)&mp_const_none_obj,
(mp_obj_t)&mp_const_none_obj},
};
@@ -335,31 +332,31 @@ const mp_obj_property_t protomatter_protomatter_width_obj = {
//|
//| The height of the display, in pixels
//|
-STATIC mp_obj_t protomatter_protomatter_get_height(mp_obj_t self_in) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC mp_obj_t rgbmatrix_rgbmatrix_get_height(mp_obj_t self_in) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
check_for_deinit(self);
- return MP_OBJ_NEW_SMALL_INT(common_hal_protomatter_protomatter_get_height(self));
+ return MP_OBJ_NEW_SMALL_INT(common_hal_rgbmatrix_rgbmatrix_get_height(self));
}
-MP_DEFINE_CONST_FUN_OBJ_1(protomatter_protomatter_get_height_obj, protomatter_protomatter_get_height);
+MP_DEFINE_CONST_FUN_OBJ_1(rgbmatrix_rgbmatrix_get_height_obj, rgbmatrix_rgbmatrix_get_height);
-const mp_obj_property_t protomatter_protomatter_height_obj = {
+const mp_obj_property_t rgbmatrix_rgbmatrix_height_obj = {
.base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&protomatter_protomatter_get_height_obj,
+ .proxy = {(mp_obj_t)&rgbmatrix_rgbmatrix_get_height_obj,
(mp_obj_t)&mp_const_none_obj,
(mp_obj_t)&mp_const_none_obj},
};
-STATIC const mp_rom_map_elem_t protomatter_protomatter_locals_dict_table[] = {
- { MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&protomatter_protomatter_deinit_obj) },
- { MP_ROM_QSTR(MP_QSTR_brightness), MP_ROM_PTR(&protomatter_protomatter_brightness_obj) },
- { MP_ROM_QSTR(MP_QSTR_refresh), MP_ROM_PTR(&protomatter_protomatter_refresh_obj) },
- { MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&protomatter_protomatter_width_obj) },
- { MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&protomatter_protomatter_height_obj) },
+STATIC const mp_rom_map_elem_t rgbmatrix_rgbmatrix_locals_dict_table[] = {
+ { MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&rgbmatrix_rgbmatrix_deinit_obj) },
+ { MP_ROM_QSTR(MP_QSTR_brightness), MP_ROM_PTR(&rgbmatrix_rgbmatrix_brightness_obj) },
+ { MP_ROM_QSTR(MP_QSTR_refresh), MP_ROM_PTR(&rgbmatrix_rgbmatrix_refresh_obj) },
+ { MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&rgbmatrix_rgbmatrix_width_obj) },
+ { MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&rgbmatrix_rgbmatrix_height_obj) },
};
-STATIC MP_DEFINE_CONST_DICT(protomatter_protomatter_locals_dict, protomatter_protomatter_locals_dict_table);
+STATIC MP_DEFINE_CONST_DICT(rgbmatrix_rgbmatrix_locals_dict, rgbmatrix_rgbmatrix_locals_dict_table);
-STATIC void protomatter_protomatter_get_bufinfo(mp_obj_t self_in, mp_buffer_info_t *bufinfo) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC void rgbmatrix_rgbmatrix_get_bufinfo(mp_obj_t self_in, mp_buffer_info_t *bufinfo) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
check_for_deinit(self);
*bufinfo = self->bufinfo;
@@ -367,60 +364,60 @@ STATIC void protomatter_protomatter_get_bufinfo(mp_obj_t self_in, mp_buffer_info
// These version exists so that the prototype matches the protocol,
// avoiding a type cast that can hide errors
-STATIC void protomatter_protomatter_swapbuffers(mp_obj_t self_in) {
- common_hal_protomatter_protomatter_refresh(self_in);
+STATIC void rgbmatrix_rgbmatrix_swapbuffers(mp_obj_t self_in) {
+ common_hal_rgbmatrix_rgbmatrix_refresh(self_in);
}
-STATIC void protomatter_protomatter_deinit_proto(mp_obj_t self_in) {
- common_hal_protomatter_protomatter_deinit(self_in);
+STATIC void rgbmatrix_rgbmatrix_deinit_proto(mp_obj_t self_in) {
+ common_hal_rgbmatrix_rgbmatrix_deinit(self_in);
}
-STATIC float protomatter_protomatter_get_brightness_proto(mp_obj_t self_in) {
- return common_hal_protomatter_protomatter_get_paused(self_in) ? 0.0f : 1.0f;
+STATIC float rgbmatrix_rgbmatrix_get_brightness_proto(mp_obj_t self_in) {
+ return common_hal_rgbmatrix_rgbmatrix_get_paused(self_in) ? 0.0f : 1.0f;
}
-STATIC bool protomatter_protomatter_set_brightness_proto(mp_obj_t self_in, mp_float_t value) {
- common_hal_protomatter_protomatter_set_paused(self_in, value <= 0);
+STATIC bool rgbmatrix_rgbmatrix_set_brightness_proto(mp_obj_t self_in, mp_float_t value) {
+ common_hal_rgbmatrix_rgbmatrix_set_paused(self_in, value <= 0);
return true;
}
-STATIC int protomatter_protomatter_get_width_proto(mp_obj_t self_in) {
- return common_hal_protomatter_protomatter_get_width(self_in);
+STATIC int rgbmatrix_rgbmatrix_get_width_proto(mp_obj_t self_in) {
+ return common_hal_rgbmatrix_rgbmatrix_get_width(self_in);
}
-STATIC int protomatter_protomatter_get_height_proto(mp_obj_t self_in) {
- return common_hal_protomatter_protomatter_get_height(self_in);
+STATIC int rgbmatrix_rgbmatrix_get_height_proto(mp_obj_t self_in) {
+ return common_hal_rgbmatrix_rgbmatrix_get_height(self_in);
}
-STATIC int protomatter_protomatter_get_color_depth_proto(mp_obj_t self_in) {
+STATIC int rgbmatrix_rgbmatrix_get_color_depth_proto(mp_obj_t self_in) {
return 16;
}
-STATIC int protomatter_protomatter_get_bytes_per_cell_proto(mp_obj_t self_in) {
+STATIC int rgbmatrix_rgbmatrix_get_bytes_per_cell_proto(mp_obj_t self_in) {
return 1;
}
-STATIC int protomatter_protomatter_get_native_frames_per_second_proto(mp_obj_t self_in) {
+STATIC int rgbmatrix_rgbmatrix_get_native_frames_per_second_proto(mp_obj_t self_in) {
return 250;
}
-STATIC const framebuffer_p_t protomatter_protomatter_proto = {
+STATIC const framebuffer_p_t rgbmatrix_rgbmatrix_proto = {
MP_PROTO_IMPLEMENT(MP_QSTR_protocol_framebuffer)
- .get_bufinfo = protomatter_protomatter_get_bufinfo,
- .set_brightness = protomatter_protomatter_set_brightness_proto,
- .get_brightness = protomatter_protomatter_get_brightness_proto,
- .get_width = protomatter_protomatter_get_width_proto,
- .get_height = protomatter_protomatter_get_height_proto,
- .get_color_depth = protomatter_protomatter_get_color_depth_proto,
- .get_bytes_per_cell = protomatter_protomatter_get_bytes_per_cell_proto,
- .get_native_frames_per_second = protomatter_protomatter_get_native_frames_per_second_proto,
- .swapbuffers = protomatter_protomatter_swapbuffers,
- .deinit = protomatter_protomatter_deinit_proto,
+ .get_bufinfo = rgbmatrix_rgbmatrix_get_bufinfo,
+ .set_brightness = rgbmatrix_rgbmatrix_set_brightness_proto,
+ .get_brightness = rgbmatrix_rgbmatrix_get_brightness_proto,
+ .get_width = rgbmatrix_rgbmatrix_get_width_proto,
+ .get_height = rgbmatrix_rgbmatrix_get_height_proto,
+ .get_color_depth = rgbmatrix_rgbmatrix_get_color_depth_proto,
+ .get_bytes_per_cell = rgbmatrix_rgbmatrix_get_bytes_per_cell_proto,
+ .get_native_frames_per_second = rgbmatrix_rgbmatrix_get_native_frames_per_second_proto,
+ .swapbuffers = rgbmatrix_rgbmatrix_swapbuffers,
+ .deinit = rgbmatrix_rgbmatrix_deinit_proto,
};
-STATIC mp_int_t protomatter_protomatter_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, mp_uint_t flags) {
- protomatter_protomatter_obj_t *self = (protomatter_protomatter_obj_t*)self_in;
+STATIC mp_int_t rgbmatrix_rgbmatrix_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, mp_uint_t flags) {
+ rgbmatrix_rgbmatrix_obj_t *self = (rgbmatrix_rgbmatrix_obj_t*)self_in;
// a readonly framebuffer would be unusual but not impossible
if ((flags & MP_BUFFER_WRITE) && !(self->bufinfo.typecode & MP_OBJ_ARRAY_TYPECODE_FLAG_RW)) {
return 1;
@@ -429,11 +426,11 @@ STATIC mp_int_t protomatter_protomatter_get_buffer(mp_obj_t self_in, mp_buffer_i
return 0;
}
-const mp_obj_type_t protomatter_Protomatter_type = {
+const mp_obj_type_t rgbmatrix_RGBMatrix_type = {
{ &mp_type_type },
.name = MP_QSTR_RGBMatrix,
- .buffer_p = { .get_buffer = protomatter_protomatter_get_buffer, },
- .make_new = protomatter_protomatter_make_new,
- .protocol = &protomatter_protomatter_proto,
- .locals_dict = (mp_obj_dict_t*)&protomatter_protomatter_locals_dict,
+ .buffer_p = { .get_buffer = rgbmatrix_rgbmatrix_get_buffer, },
+ .make_new = rgbmatrix_rgbmatrix_make_new,
+ .protocol = &rgbmatrix_rgbmatrix_proto,
+ .locals_dict = (mp_obj_dict_t*)&rgbmatrix_rgbmatrix_locals_dict,
};
diff --git a/shared-bindings/rgbmatrix/RGBMatrix.h b/shared-bindings/rgbmatrix/RGBMatrix.h
index 0f139abff..027f817bb 100644
--- a/shared-bindings/rgbmatrix/RGBMatrix.h
+++ b/shared-bindings/rgbmatrix/RGBMatrix.h
@@ -24,13 +24,13 @@
* THE SOFTWARE.
*/
-#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_PROTOMATTER_PROTOMATTER_H
-#define MICROPY_INCLUDED_SHARED_BINDINGS_PROTOMATTER_PROTOMATTER_H
+#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_RGBMATRIX_RGBMATRIX_H
+#define MICROPY_INCLUDED_SHARED_BINDINGS_RGBMATRIX_RGBMATRIX_H
#include "shared-module/rgbmatrix/RGBMatrix.h"
#include "lib/protomatter/core.h"
-extern const mp_obj_type_t protomatter_Protomatter_type;
+extern const mp_obj_type_t rgbmatrix_RGBMatrix_type;
typedef struct {
mp_obj_base_t base;
mp_obj_t framebuffer;
@@ -46,16 +46,16 @@ typedef struct {
bool core_is_initialized;
bool paused;
bool doublebuffer;
-} protomatter_protomatter_obj_t;
+} rgbmatrix_rgbmatrix_obj_t;
-void common_hal_protomatter_protomatter_construct(protomatter_protomatter_obj_t* self, int width, int bit_depth, uint8_t rgb_count, uint8_t* rgb_pins, uint8_t addr_count, uint8_t* addr_pins, uint8_t clock_pin, uint8_t latch_pin, uint8_t oe_pin, bool doublebuffer, mp_obj_t framebuffer, void* timer);
-void common_hal_protomatter_protomatter_deinit(protomatter_protomatter_obj_t*);
-void protomatter_protomatter_collect_ptrs(protomatter_protomatter_obj_t*);
-void common_hal_protomatter_protomatter_reconstruct(protomatter_protomatter_obj_t* self, mp_obj_t framebuffer);
-void common_hal_protomatter_protomatter_set_paused(protomatter_protomatter_obj_t* self, bool paused);
-bool common_hal_protomatter_protomatter_get_paused(protomatter_protomatter_obj_t* self);
-void common_hal_protomatter_protomatter_refresh(protomatter_protomatter_obj_t* self);
-int common_hal_protomatter_protomatter_get_width(protomatter_protomatter_obj_t* self);
-int common_hal_protomatter_protomatter_get_height(protomatter_protomatter_obj_t* self);
+void common_hal_rgbmatrix_rgbmatrix_construct(rgbmatrix_rgbmatrix_obj_t* self, int width, int bit_depth, uint8_t rgb_count, uint8_t* rgb_pins, uint8_t addr_count, uint8_t* addr_pins, uint8_t clock_pin, uint8_t latch_pin, uint8_t oe_pin, bool doublebuffer, mp_obj_t framebuffer, void* timer);
+void common_hal_rgbmatrix_rgbmatrix_deinit(rgbmatrix_rgbmatrix_obj_t*);
+void rgbmatrix_rgbmatrix_collect_ptrs(rgbmatrix_rgbmatrix_obj_t*);
+void common_hal_rgbmatrix_rgbmatrix_reconstruct(rgbmatrix_rgbmatrix_obj_t* self, mp_obj_t framebuffer);
+void common_hal_rgbmatrix_rgbmatrix_set_paused(rgbmatrix_rgbmatrix_obj_t* self, bool paused);
+bool common_hal_rgbmatrix_rgbmatrix_get_paused(rgbmatrix_rgbmatrix_obj_t* self);
+void common_hal_rgbmatrix_rgbmatrix_refresh(rgbmatrix_rgbmatrix_obj_t* self);
+int common_hal_rgbmatrix_rgbmatrix_get_width(rgbmatrix_rgbmatrix_obj_t* self);
+int common_hal_rgbmatrix_rgbmatrix_get_height(rgbmatrix_rgbmatrix_obj_t* self);
#endif
diff --git a/shared-bindings/rgbmatrix/__init__.c b/shared-bindings/rgbmatrix/__init__.c
index 4b16c0e49..662d2c4f6 100644
--- a/shared-bindings/rgbmatrix/__init__.c
+++ b/shared-bindings/rgbmatrix/__init__.c
@@ -42,14 +42,14 @@
//|
//| RGBMatrix
-STATIC const mp_rom_map_elem_t protomatter_module_globals_table[] = {
+STATIC const mp_rom_map_elem_t rgbmatrix_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_rgbmatrix) },
- { MP_ROM_QSTR(MP_QSTR_RGBMatrix), MP_ROM_PTR(&protomatter_Protomatter_type) },
+ { MP_ROM_QSTR(MP_QSTR_RGBMatrix), MP_ROM_PTR(&rgbmatrix_RGBMatrix_type) },
};
-STATIC MP_DEFINE_CONST_DICT(protomatter_module_globals, protomatter_module_globals_table);
+STATIC MP_DEFINE_CONST_DICT(rgbmatrix_module_globals, rgbmatrix_module_globals_table);
-const mp_obj_module_t protomatter_module = {
+const mp_obj_module_t rgbmatrix_module = {
.base = { &mp_type_module },
- .globals = (mp_obj_dict_t*)&protomatter_module_globals,
+ .globals = (mp_obj_dict_t*)&rgbmatrix_module_globals,
};
diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c
index cf1bc45d9..c898bbb98 100644
--- a/shared-module/displayio/__init__.c
+++ b/shared-module/displayio/__init__.c
@@ -21,8 +21,8 @@
primary_display_t displays[CIRCUITPY_DISPLAY_LIMIT];
-#if CIRCUITPY_PROTOMATTER
-STATIC bool any_display_uses_this_protomatter(protomatter_protomatter_obj_t* pm) {
+#if CIRCUITPY_RGBMATRIX
+STATIC bool any_display_uses_this_rgbmatrix(rgbmatrix_rgbmatrix_obj_t* pm) {
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
if (displays[i].framebuffer_display.base.type == &framebufferio_framebufferdisplay_type) {
framebufferio_framebufferdisplay_obj_t* display = &displays[i].framebuffer_display;
@@ -103,8 +103,8 @@ void common_hal_displayio_release_displays(void) {
} else if (bus_type == &displayio_parallelbus_type) {
common_hal_displayio_parallelbus_deinit(&displays[i].parallel_bus);
#if CIRCUITPY_FRAMEBUFFERIO
- } else if (bus_type == &protomatter_Protomatter_type) {
- common_hal_protomatter_protomatter_deinit(&displays[i].protomatter);
+ } else if (bus_type == &rgbmatrix_RGBMatrix_type) {
+ common_hal_rgbmatrix_rgbmatrix_deinit(&displays[i].rgbmatrix);
#endif
}
displays[i].fourwire_bus.base.type = &mp_type_NoneType;
@@ -167,11 +167,11 @@ void reset_displays(void) {
}
}
}
-#if CIRCUITPY_PROTOMATTER
- } else if (displays[i].protomatter.base.type == &protomatter_Protomatter_type) {
- protomatter_protomatter_obj_t * pm = &displays[i].protomatter;
- if(!any_display_uses_this_protomatter(pm)) {
- common_hal_protomatter_protomatter_deinit(pm);
+#if CIRCUITPY_RGBMATRIX
+ } else if (displays[i].rgbmatrix.base.type == &rgbmatrix_RGBMatrix_type) {
+ rgbmatrix_rgbmatrix_obj_t * pm = &displays[i].rgbmatrix;
+ if(!any_display_uses_this_rgbmatrix(pm)) {
+ common_hal_rgbmatrix_rgbmatrix_deinit(pm);
}
#endif
} else {
@@ -200,9 +200,9 @@ void reset_displays(void) {
void displayio_gc_collect(void) {
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
-#if CIRCUITPY_PROTOMATTER
- if (displays[i].protomatter.base.type == &protomatter_Protomatter_type) {
- protomatter_protomatter_collect_ptrs(&displays[i].protomatter);
+#if CIRCUITPY_RGBMATRIX
+ if (displays[i].rgbmatrix.base.type == &rgbmatrix_RGBMatrix_type) {
+ rgbmatrix_rgbmatrix_collect_ptrs(&displays[i].rgbmatrix);
}
#endif
diff --git a/shared-module/displayio/__init__.h b/shared-module/displayio/__init__.h
index 87c0d3356..9eb10c28b 100644
--- a/shared-module/displayio/__init__.h
+++ b/shared-module/displayio/__init__.h
@@ -43,8 +43,8 @@ typedef struct {
displayio_fourwire_obj_t fourwire_bus;
displayio_i2cdisplay_obj_t i2cdisplay_bus;
displayio_parallelbus_obj_t parallel_bus;
-#if CIRCUITPY_PROTOMATTER
- protomatter_protomatter_obj_t protomatter;
+#if CIRCUITPY_RGBMATRIX
+ rgbmatrix_rgbmatrix_obj_t rgbmatrix;
#endif
};
union {
diff --git a/shared-module/rgbmatrix/RGBMatrix.c b/shared-module/rgbmatrix/RGBMatrix.c
index 17049494d..df064ff81 100644
--- a/shared-module/rgbmatrix/RGBMatrix.c
+++ b/shared-module/rgbmatrix/RGBMatrix.c
@@ -42,7 +42,7 @@
extern Protomatter_core *_PM_protoPtr;
-void common_hal_protomatter_protomatter_construct(protomatter_protomatter_obj_t *self, int width, int bit_depth, uint8_t rgb_count, uint8_t *rgb_pins, uint8_t addr_count, uint8_t *addr_pins, uint8_t clock_pin, uint8_t latch_pin, uint8_t oe_pin, bool doublebuffer, mp_obj_t framebuffer, void *timer) {
+void common_hal_rgbmatrix_rgbmatrix_construct(rgbmatrix_rgbmatrix_obj_t *self, int width, int bit_depth, uint8_t rgb_count, uint8_t *rgb_pins, uint8_t addr_count, uint8_t *addr_pins, uint8_t clock_pin, uint8_t latch_pin, uint8_t oe_pin, bool doublebuffer, mp_obj_t framebuffer, void *timer) {
self->width = width;
self->bit_depth = bit_depth;
self->rgb_count = rgb_count;
@@ -54,7 +54,7 @@ void common_hal_protomatter_protomatter_construct(protomatter_protomatter_obj_t
self->latch_pin = latch_pin;
self->doublebuffer = doublebuffer;
- self->timer = timer ? timer : common_hal_protomatter_timer_allocate();
+ self->timer = timer ? timer : common_hal_rgbmatrix_timer_allocate();
if (self->timer == NULL) {
mp_raise_ValueError(translate("No timer available"));
}
@@ -62,10 +62,10 @@ void common_hal_protomatter_protomatter_construct(protomatter_protomatter_obj_t
self->width = width;
self->bufsize = 2 * width * rgb_count / 3 * (1 << addr_count);
- common_hal_protomatter_protomatter_reconstruct(self, framebuffer);
+ common_hal_rgbmatrix_rgbmatrix_reconstruct(self, framebuffer);
}
-void common_hal_protomatter_protomatter_reconstruct(protomatter_protomatter_obj_t* self, mp_obj_t framebuffer) {
+void common_hal_rgbmatrix_rgbmatrix_reconstruct(rgbmatrix_rgbmatrix_obj_t* self, mp_obj_t framebuffer) {
if (framebuffer) {
self->framebuffer = framebuffer;
framebuffer = mp_obj_new_bytearray_of_zeros(self->bufsize);
@@ -99,7 +99,7 @@ void common_hal_protomatter_protomatter_reconstruct(protomatter_protomatter_obj_
if (stat == PROTOMATTER_OK) {
_PM_protoPtr = &self->core;
common_hal_mcu_disable_interrupts();
- common_hal_protomatter_timer_enable(self->timer);
+ common_hal_rgbmatrix_timer_enable(self->timer);
stat = _PM_begin(&self->core);
_PM_convert_565(&self->core, self->bufinfo.buf, self->width);
common_hal_mcu_enable_interrupts();
@@ -109,7 +109,7 @@ void common_hal_protomatter_protomatter_reconstruct(protomatter_protomatter_obj_
if (stat != PROTOMATTER_OK) {
// XXX this deinit() actually makes crashy-crashy
// can trigger it by sending inappropriate pins
- common_hal_protomatter_protomatter_deinit(self);
+ common_hal_rgbmatrix_rgbmatrix_deinit(self);
switch (stat) {
case PROTOMATTER_ERR_PINS:
mp_raise_ValueError(translate("Invalid pin"));
@@ -120,7 +120,7 @@ void common_hal_protomatter_protomatter_reconstruct(protomatter_protomatter_obj_
case PROTOMATTER_ERR_MALLOC: /// should have already been signaled as NLR
default:
mp_raise_msg_varg(&mp_type_RuntimeError,
- translate("Protomatter internal error #%d"), (int)stat);
+ translate("Internal error #%d"), (int)stat);
break;
}
}
@@ -142,9 +142,9 @@ STATIC void free_pin_seq(uint8_t *seq, int count) {
}
}
-void common_hal_protomatter_protomatter_deinit(protomatter_protomatter_obj_t* self) {
+void common_hal_rgbmatrix_rgbmatrix_deinit(rgbmatrix_rgbmatrix_obj_t* self) {
if (self->timer) {
- common_hal_protomatter_timer_free(self->timer);
+ common_hal_rgbmatrix_timer_free(self->timer);
self->timer = 0;
}
@@ -173,14 +173,14 @@ void common_hal_protomatter_protomatter_deinit(protomatter_protomatter_obj_t* se
self->framebuffer = NULL;
}
-void protomatter_protomatter_collect_ptrs(protomatter_protomatter_obj_t* self) {
+void rgbmatrix_rgbmatrix_collect_ptrs(rgbmatrix_rgbmatrix_obj_t* self) {
gc_collect_ptr(self->framebuffer);
gc_collect_ptr(self->core.rgbPins);
gc_collect_ptr(self->core.addr);
gc_collect_ptr(self->core.screenData);
}
-void common_hal_protomatter_protomatter_set_paused(protomatter_protomatter_obj_t* self, bool paused) {
+void common_hal_rgbmatrix_rgbmatrix_set_paused(rgbmatrix_rgbmatrix_obj_t* self, bool paused) {
if (paused && !self->paused) {
_PM_stop(&self->core);
} else if (!paused && self->paused) {
@@ -189,20 +189,20 @@ void common_hal_protomatter_protomatter_set_paused(protomatter_protomatter_obj_t
self->paused = paused;
}
-bool common_hal_protomatter_protomatter_get_paused(protomatter_protomatter_obj_t* self) {
+bool common_hal_rgbmatrix_rgbmatrix_get_paused(rgbmatrix_rgbmatrix_obj_t* self) {
return self->paused;
}
-void common_hal_protomatter_protomatter_refresh(protomatter_protomatter_obj_t* self) {
+void common_hal_rgbmatrix_rgbmatrix_refresh(rgbmatrix_rgbmatrix_obj_t* self) {
_PM_convert_565(&self->core, self->bufinfo.buf, self->width);
_PM_swapbuffer_maybe(&self->core);
}
-int common_hal_protomatter_protomatter_get_width(protomatter_protomatter_obj_t* self) {
+int common_hal_rgbmatrix_rgbmatrix_get_width(rgbmatrix_rgbmatrix_obj_t* self) {
return self->width;
}
-int common_hal_protomatter_protomatter_get_height(protomatter_protomatter_obj_t* self) {
+int common_hal_rgbmatrix_rgbmatrix_get_height(rgbmatrix_rgbmatrix_obj_t* self) {
int computed_height = (self->rgb_count / 3) << (self->addr_count);
return computed_height;
}
diff --git a/shared-module/rgbmatrix/allocator.h b/shared-module/rgbmatrix/allocator.h
index b7f517ce5..5e6f0b41d 100644
--- a/shared-module/rgbmatrix/allocator.h
+++ b/shared-module/rgbmatrix/allocator.h
@@ -1,5 +1,5 @@
-#ifndef MICROPY_INCLUDED_SHARED_MODULE_PROTOMATTER_ALLOCATOR_H
-#define MICROPY_INCLUDED_SHARED_MODULE_PROTOMATTER_ALLOCATOR_H
+#ifndef MICROPY_INCLUDED_SHARED_MODULE_RGBMATRIX_ALLOCATOR_H
+#define MICROPY_INCLUDED_SHARED_MODULE_RGBMATRIX_ALLOCATOR_H
#include <stdbool.h>
#include "py/gc.h"
diff --git a/supervisor/shared/display.c b/supervisor/shared/display.c
index 95926bc9c..9c074209b 100644
--- a/supervisor/shared/display.c
+++ b/supervisor/shared/display.c
@@ -34,7 +34,7 @@
#include "shared-bindings/displayio/TileGrid.h"
#include "supervisor/memory.h"
-#if CIRCUITPY_PROTOMATTER
+#if CIRCUITPY_RGBMATRIX
#include "shared-module/displayio/__init__.h"
#endif
@@ -116,11 +116,11 @@ void supervisor_display_move_memory(void) {
grid->inline_tiles = false;
}
MP_STATE_VM(terminal_tilegrid_tiles) = NULL;
- #if CIRCUITPY_PROTOMATTER
+ #if CIRCUITPY_RGBMATRIX
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
- if (displays[i].protomatter.base.type == &protomatter_Protomatter_type) {
- protomatter_protomatter_obj_t * pm = &displays[i].protomatter;
- common_hal_protomatter_protomatter_reconstruct(pm, NULL);
+ if (displays[i].rgbmatrix.base.type == &rgbmatrix_RGBMatrix_type) {
+ rgbmatrix_rgbmatrix_obj_t * pm = &displays[i].rgbmatrix;
+ common_hal_rgbmatrix_rgbmatrix_reconstruct(pm, NULL);
}
}
#endif