Skip to content

Commit 4b3cb7b

Browse files
committed
Expose displayio.Display.bus
With the bus exposed, we can send custom commands to the display, to leverage advanced features specific to the display, which are not exposed by default.
1 parent 8b9e933 commit 4b3cb7b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

shared-bindings/displayio/Display.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,25 @@ const mp_obj_property_t displayio_display_height_obj = {
295295
(mp_obj_t)&mp_const_none_obj},
296296
};
297297

298+
//| .. attribute:: bus
299+
//|
300+
//| The bus being used by the display
301+
//|
302+
//|
303+
STATIC mp_obj_t displayio_display_obj_get_bus(mp_obj_t self_in) {
304+
displayio_display_obj_t *self = MP_OBJ_TO_PTR(self_in);
305+
return self->bus;
306+
}
307+
MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_bus_obj, displayio_display_obj_get_bus);
308+
309+
const mp_obj_property_t displayio_display_bus_obj = {
310+
.base.type = &mp_type_property,
311+
.proxy = {(mp_obj_t)&displayio_display_get_bus_obj,
312+
(mp_obj_t)&mp_const_none_obj,
313+
(mp_obj_t)&mp_const_none_obj},
314+
};
315+
316+
298317
STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = {
299318
{ MP_ROM_QSTR(MP_QSTR_show), MP_ROM_PTR(&displayio_display_show_obj) },
300319
{ MP_ROM_QSTR(MP_QSTR_refresh_soon), MP_ROM_PTR(&displayio_display_refresh_soon_obj) },
@@ -305,6 +324,7 @@ STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = {
305324

306325
{ MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_width_obj) },
307326
{ MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_height_obj) },
327+
{ MP_ROM_QSTR(MP_QSTR_bus), MP_ROM_PTR(&displayio_display_bus_obj) },
308328
};
309329
STATIC MP_DEFINE_CONST_DICT(displayio_display_locals_dict, displayio_display_locals_dict_table);
310330

0 commit comments

Comments
 (0)