Skip to content

Commit 92d1509

Browse files
authored
Merge pull request #3485 from jepler/framebuffer-zero-size
Framebuffer zero size
2 parents d62ac24 + c27e385 commit 92d1509

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

locale/circuitpython.pot

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,6 +1666,10 @@ msgid ""
16661666
"exit safe mode.\n"
16671667
msgstr ""
16681668

1669+
#: shared-bindings/rgbmatrix/RGBMatrix.c
1670+
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
1671+
msgstr ""
1672+
16691673
#: supervisor/shared/safe_mode.c
16701674
msgid ""
16711675
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -3520,6 +3524,10 @@ msgstr ""
35203524
msgid "watchdog timeout must be greater than 0"
35213525
msgstr ""
35223526

3527+
#: shared-bindings/rgbmatrix/RGBMatrix.c
3528+
msgid "width must be greater than zero"
3529+
msgstr ""
3530+
35233531
#: shared-bindings/_bleio/Adapter.c
35243532
msgid "window must be <= interval"
35253533
msgstr ""

shared-bindings/rgbmatrix/RGBMatrix.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ STATIC void preflight_pins_or_throw(uint8_t clock_pin, uint8_t *rgb_pins, uint8_
7373
uint32_t port = clock_pin / 32;
7474
uint32_t bit_mask = 1 << (clock_pin % 32);
7575

76+
if (rgb_pin_count <= 0 || rgb_pin_count % 6 != 0 || rgb_pin_count > 30) {
77+
mp_raise_ValueError_varg(translate("The length of rgb_pins must be 6, 12, 18, 24, or 30"));
78+
}
79+
7680
for (uint8_t i = 0; i < rgb_pin_count; i++) {
7781
uint32_t pin_port = rgb_pins[i] / 32;
7882

@@ -210,6 +214,10 @@ STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n
210214
}
211215
}
212216

217+
if (args[ARG_width].u_int <= 0) {
218+
mp_raise_ValueError(translate("width must be greater than zero"));
219+
}
220+
213221
preflight_pins_or_throw(clock_pin, rgb_pins, rgb_count, true);
214222

215223
mp_obj_t framebuffer = args[ARG_framebuffer].u_obj;

0 commit comments

Comments
 (0)