From c7776ee4ae721ef57877c32400c78cfca7239e9e Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Mon, 24 Mar 2025 13:52:11 +0000 Subject: [PATCH] Plasma: Make PIO and pin args optional. --- micropython/modules/plasma/plasma.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/micropython/modules/plasma/plasma.cpp b/micropython/modules/plasma/plasma.cpp index 9dc39233..f510c12f 100644 --- a/micropython/modules/plasma/plasma.cpp +++ b/micropython/modules/plasma/plasma.cpp @@ -64,9 +64,13 @@ mp_obj_t PlasmaWS2812_make_new(const mp_obj_type_t *type, size_t n_args, size_t }; static const mp_arg_t allowed_args[] = { { MP_QSTR_num_leds, MP_ARG_REQUIRED | MP_ARG_INT }, - { MP_QSTR_pio, MP_ARG_REQUIRED | MP_ARG_INT }, - { MP_QSTR_sm, MP_ARG_REQUIRED | MP_ARG_INT }, + { MP_QSTR_pio, MP_ARG_INT, {.u_int = 0} }, + { MP_QSTR_sm, MP_ARG_INT, {.u_int = 0} }, +#ifdef PLASMA_DATA_PIN + { MP_QSTR_dat, MP_ARG_OBJ, {.u_obj = MP_ROM_INT(PLASMA_DATA_PIN)} }, +#else { MP_QSTR_dat, MP_ARG_REQUIRED | MP_ARG_OBJ }, +#endif { MP_QSTR_freq, MP_ARG_INT, {.u_int = WS2812::DEFAULT_SERIAL_FREQ} }, { MP_QSTR_buffer, MP_ARG_OBJ, {.u_obj = nullptr} }, { MP_QSTR_rgbw, MP_ARG_BOOL, {.u_bool = false} }, @@ -282,10 +286,18 @@ mp_obj_t PlasmaAPA102_make_new(const mp_obj_type_t *type, size_t n_args, size_t }; static const mp_arg_t allowed_args[] = { { MP_QSTR_num_leds, MP_ARG_REQUIRED | MP_ARG_INT }, - { MP_QSTR_pio, MP_ARG_REQUIRED | MP_ARG_INT }, - { MP_QSTR_sm, MP_ARG_REQUIRED | MP_ARG_INT }, + { MP_QSTR_pio, MP_ARG_INT, {.u_int = 0} }, + { MP_QSTR_sm, MP_ARG_INT, {.u_int = 0} }, +#ifdef PLASMA_DATA_PIN + { MP_QSTR_dat, MP_ARG_OBJ, {.u_obj = MP_ROM_INT(PLASMA_DATA_PIN)} }, +#else { MP_QSTR_dat, MP_ARG_REQUIRED | MP_ARG_OBJ }, +#endif +#ifdef PLASMA_CLOCK_PIN + { MP_QSTR_clk, MP_ARG_OBJ, {.u_obj = MP_ROM_INT(PLASMA_CLOCK_PIN)} }, +#else { MP_QSTR_clk, MP_ARG_REQUIRED | MP_ARG_OBJ }, +#endif { MP_QSTR_freq, MP_ARG_INT, {.u_int = APA102::DEFAULT_SERIAL_FREQ} }, { MP_QSTR_buffer, MP_ARG_OBJ, {.u_obj = nullptr} }, };