Skip to content

Commit 34f565d

Browse files
authored
Merge pull request adafruit#7891 from tannewt/fix_epd_uc
Add address_little_endian and fix display memory reuse
2 parents be6e90c + 75046b3 commit 34f565d

File tree

76 files changed

+345
-294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+345
-294
lines changed

ports/atmel-samd/boards/hallowing_m0_express/board.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ uint8_t display_init_sequence[] = {
6969
};
7070

7171
void board_init(void) {
72-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
72+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
7373
bus->base.type = &displayio_fourwire_type;
7474
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
7575
common_hal_busio_spi_never_reset(spi);
@@ -82,7 +82,7 @@ void board_init(void) {
8282
0, // Polarity
8383
0); // Phase
8484

85-
displayio_display_obj_t *display = &displays[0].display;
85+
displayio_display_obj_t *display = &allocate_display()->display;
8686
display->base.type = &displayio_display_type;
8787
common_hal_displayio_display_construct(display,
8888
bus,

ports/atmel-samd/boards/hallowing_m4_express/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ uint8_t display_init_sequence[] = {
4747
};
4848

4949
void board_init(void) {
50-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
50+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
51+
busio_spi_obj_t *spi = &bus->inline_bus;
5152
common_hal_busio_spi_construct(spi, &pin_PA01, &pin_PA00, NULL, false);
5253
common_hal_busio_spi_never_reset(spi);
5354

54-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
5555
bus->base.type = &displayio_fourwire_type;
5656
common_hal_displayio_fourwire_construct(bus,
5757
spi,
@@ -62,7 +62,7 @@ void board_init(void) {
6262
0, // Polarity
6363
0); // Phase
6464

65-
displayio_display_obj_t *display = &displays[0].display;
65+
displayio_display_obj_t *display = &allocate_display()->display;
6666
display->base.type = &displayio_display_type;
6767
common_hal_displayio_display_construct(display,
6868
bus,

ports/atmel-samd/boards/monster_m4sk/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ uint8_t display_init_sequence[] = {
4848
};
4949

5050
void board_init(void) {
51-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
51+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
52+
busio_spi_obj_t *spi = &bus->inline_bus;
5253
common_hal_busio_spi_construct(spi, &pin_PA13, &pin_PA12, NULL, false);
5354
common_hal_busio_spi_never_reset(spi);
5455

55-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
5656
bus->base.type = &displayio_fourwire_type;
5757
common_hal_displayio_fourwire_construct(bus,
5858
spi,
@@ -63,7 +63,7 @@ void board_init(void) {
6363
0, // Polarity
6464
0); // Phase
6565

66-
displayio_display_obj_t *display = &displays[0].display;
66+
displayio_display_obj_t *display = &allocate_display()->display;
6767
display->base.type = &displayio_display_type;
6868
common_hal_displayio_display_construct(display,
6969
bus,

ports/atmel-samd/boards/openbook_m4/board.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ uint8_t refresh_sequence[] = {
5757
};
5858

5959
void board_init(void) {
60-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
60+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
61+
busio_spi_obj_t *spi = &bus->inline_bus;
6162
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL, false);
6263
common_hal_busio_spi_never_reset(spi);
6364

64-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
6565
bus->base.type = &displayio_fourwire_type;
6666
common_hal_displayio_fourwire_construct(bus,
6767
spi,
@@ -72,7 +72,7 @@ void board_init(void) {
7272
0, // Polarity
7373
0); // Phase
7474

75-
displayio_epaperdisplay_obj_t *display = &displays[0].epaper_display;
75+
displayio_epaperdisplay_obj_t *display = &allocate_display()->epaper_display;
7676
display->base.type = &displayio_epaperdisplay_type;
7777
common_hal_displayio_epaperdisplay_construct(display,
7878
bus,
@@ -106,7 +106,8 @@ void board_init(void) {
106106
false, // chip_select (don't always toggle chip select)
107107
false, // grayscale
108108
false, // acep
109-
false); // two_byte_sequence_length
109+
false, // two_byte_sequence_length
110+
false); // address_little_endian
110111
}
111112

112113
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/atmel-samd/boards/pewpew_lcd/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ uint8_t display_init_sequence[] = {
4646
};
4747

4848
void board_init(void) {
49-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
49+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
50+
busio_spi_obj_t *spi = &bus->inline_bus;
5051
common_hal_busio_spi_construct(spi, &pin_PA23, &pin_PA22, NULL, false);
5152
common_hal_busio_spi_never_reset(spi);
5253

53-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
5454
bus->base.type = &displayio_fourwire_type;
5555
common_hal_displayio_fourwire_construct(bus,
5656
spi,
@@ -61,7 +61,7 @@ void board_init(void) {
6161
0, // Polarity
6262
0); // Phase
6363

64-
displayio_display_obj_t *display = &displays[0].display;
64+
displayio_display_obj_t *display = &allocate_display()->display;
6565
display->base.type = &displayio_display_type;
6666
common_hal_displayio_display_construct(display,
6767
bus,

ports/atmel-samd/boards/pewpew_m4/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,11 @@ uint8_t display_init_sequence[] = {
9797
};
9898

9999
void board_init(void) {
100-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
100+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
101+
busio_spi_obj_t *spi = &bus->inline_bus;
101102
common_hal_busio_spi_construct(spi, &pin_PA13, &pin_PA15, NULL, false);
102103
common_hal_busio_spi_never_reset(spi);
103104

104-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
105105
bus->base.type = &displayio_fourwire_type;
106106
common_hal_displayio_fourwire_construct(bus,
107107
spi,
@@ -115,7 +115,7 @@ void board_init(void) {
115115
uint32_t cfg0 = lookupCfg(CFG_DISPLAY_CFG0, 0x000000);
116116
uint32_t offX = (cfg0 >> 8) & 0xff;
117117
uint32_t offY = (cfg0 >> 16) & 0xff;
118-
displayio_display_obj_t *display = &displays[0].display;
118+
displayio_display_obj_t *display = &allocate_display()->display;
119119
display->base.type = &displayio_display_type;
120120
common_hal_displayio_display_construct(display,
121121
bus,

ports/atmel-samd/boards/pybadge/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ uint8_t display_init_sequence[] = {
6868
};
6969

7070
void board_init(void) {
71-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
71+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
72+
busio_spi_obj_t *spi = &bus->inline_bus;
7273
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL, false);
7374
common_hal_busio_spi_never_reset(spi);
7475

75-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
7676
bus->base.type = &displayio_fourwire_type;
7777
common_hal_displayio_fourwire_construct(bus,
7878
spi,
@@ -83,7 +83,7 @@ void board_init(void) {
8383
0, // Polarity
8484
0); // Phase
8585

86-
displayio_display_obj_t *display = &displays[0].display;
86+
displayio_display_obj_t *display = &allocate_display()->display;
8787
display->base.type = &displayio_display_type;
8888
common_hal_displayio_display_construct(display,
8989
bus,

ports/atmel-samd/boards/pygamer/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ uint8_t display_init_sequence[] = {
7070
};
7171

7272
void board_init(void) {
73-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
73+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
74+
busio_spi_obj_t *spi = &bus->inline_bus;
7475
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL, false);
7576
common_hal_busio_spi_never_reset(spi);
7677

77-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
7878
bus->base.type = &displayio_fourwire_type;
7979
common_hal_displayio_fourwire_construct(bus,
8080
spi,
@@ -85,7 +85,7 @@ void board_init(void) {
8585
0, // Polarity
8686
0); // Phase
8787

88-
displayio_display_obj_t *display = &displays[0].display;
88+
displayio_display_obj_t *display = &allocate_display()->display;
8989
display->base.type = &displayio_display_type;
9090
common_hal_displayio_display_construct(display,
9191
bus,

ports/atmel-samd/boards/pyportal/board.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ uint8_t display_init_sequence[] = {
6161
};
6262

6363
void board_init(void) {
64-
paralleldisplay_parallelbus_obj_t *bus = &displays[0].parallel_bus;
64+
paralleldisplay_parallelbus_obj_t *bus = &allocate_display_bus()->parallel_bus;
6565
bus->base.type = &paralleldisplay_parallelbus_type;
6666
common_hal_paralleldisplay_parallelbus_construct(bus,
6767
&pin_PA16, // Data0
@@ -72,7 +72,7 @@ void board_init(void) {
7272
&pin_PA00, // Reset
7373
0); // Frequency
7474

75-
displayio_display_obj_t *display = &displays[0].display;
75+
displayio_display_obj_t *display = &allocate_display()->display;
7676
display->base.type = &displayio_display_type;
7777
common_hal_displayio_display_construct(display,
7878
bus,

ports/atmel-samd/boards/pyportal_titano/board.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ uint8_t display_init_sequence[] = {
7878
};
7979

8080
void board_init(void) {
81-
paralleldisplay_parallelbus_obj_t *bus = &displays[0].parallel_bus;
81+
paralleldisplay_parallelbus_obj_t *bus = &allocate_display_bus()->parallel_bus;
8282
bus->base.type = &paralleldisplay_parallelbus_type;
8383
common_hal_paralleldisplay_parallelbus_construct(bus,
8484
&pin_PA16, // Data0
@@ -89,7 +89,7 @@ void board_init(void) {
8989
&pin_PA00, // Reset
9090
0); // Frequency
9191

92-
displayio_display_obj_t *display = &displays[0].display;
92+
displayio_display_obj_t *display = &allocate_display()->display;
9393
display->base.type = &displayio_display_type;
9494
common_hal_displayio_display_construct(display,
9595
bus,

ports/atmel-samd/boards/seeeduino_wio_terminal/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ uint8_t display_init_sequence[] = {
6565
};
6666

6767
void board_init(void) {
68-
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
68+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
69+
busio_spi_obj_t *spi = &bus->inline_bus;
6970
common_hal_busio_spi_construct(spi, &pin_PB20, &pin_PB19, NULL, false);
7071
common_hal_busio_spi_never_reset(spi);
7172

72-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
7373
bus->base.type = &displayio_fourwire_type;
7474
common_hal_displayio_fourwire_construct(bus,
7575
spi,
@@ -80,7 +80,7 @@ void board_init(void) {
8080
0, // Polarity
8181
0); // Phase
8282

83-
displayio_display_obj_t *display = &displays[0].display;
83+
displayio_display_obj_t *display = &allocate_display()->display;
8484
display->base.type = &displayio_display_type;
8585
common_hal_displayio_display_construct(display,
8686
bus,

ports/atmel-samd/boards/ugame10/board.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ uint8_t display_init_sequence[] = {
7070
};
7171

7272
void board_init(void) {
73-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
73+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
7474
bus->base.type = &displayio_fourwire_type;
7575
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
7676
common_hal_displayio_fourwire_construct(bus,
@@ -82,7 +82,7 @@ void board_init(void) {
8282
0, // Polarity
8383
0); // Phase
8484

85-
displayio_display_obj_t *display = &displays[0].display;
85+
displayio_display_obj_t *display = &allocate_display()->display;
8686
display->base.type = &displayio_display_type;
8787
common_hal_displayio_display_construct(display,
8888
bus,

ports/broadcom/boards/diodes_delight_piunora/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/broadcom/boards/raspberrypi_cm4/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/broadcom/boards/raspberrypi_cm4io/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/broadcom/boards/raspberrypi_pi4b/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/broadcom/boards/raspberrypi_zero/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/broadcom/boards/raspberrypi_zero2w/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/broadcom/boards/raspberrypi_zero_w/board.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void board_init(void) {
3636
fb->base.type = &videocore_framebuffer_type;
3737
common_hal_videocore_framebuffer_construct(fb, 640, 480);
3838

39-
framebufferio_framebufferdisplay_obj_t *display = &displays[0].framebuffer_display;
39+
framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display;
4040
display->base.type = &framebufferio_framebufferdisplay_type;
4141
common_hal_framebufferio_framebufferdisplay_construct(
4242
display,

ports/espressif/boards/01space_lcd042_esp32c3/board.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,19 @@ void board_init(void) {
5555
busio_i2c_obj_t *i2c = common_hal_board_create_i2c(0);
5656

5757
// What we would do if it wasn't the shared board I2C: (for reference)
58-
// busio_i2c_obj_t *i2c = &displays[0].i2cdisplay_bus.inline_bus;
58+
// busio_i2c_obj_t *i2c = &allocate_display_bus()->i2cdisplay_bus.inline_bus;
5959
// common_hal_busio_i2c_construct(i2c, &pin_GPIO23, &pin_GPIO22, 100000, 0);
6060
// common_hal_busio_i2c_never_reset(i2c);
6161

62-
displayio_i2cdisplay_obj_t *bus = &displays[0].i2cdisplay_bus;
62+
displayio_i2cdisplay_obj_t *bus = &allocate_display_bus()->i2cdisplay_bus;
6363
bus->base.type = &displayio_i2cdisplay_type;
6464
common_hal_displayio_i2cdisplay_construct(bus,
6565
i2c,
6666
0x3c,
6767
NULL
6868
);
6969

70-
displayio_display_obj_t *display = &displays[0].display;
70+
displayio_display_obj_t *display = &allocate_display()->display;
7171
display->base.type = &displayio_display_type;
7272
common_hal_displayio_display_construct(display,
7373
bus,

ports/espressif/boards/adafruit_esp32s2_camera/board.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ uint8_t display_init_sequence[] = {
5252

5353
void board_init(void) {
5454
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
55-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
55+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
5656
bus->base.type = &displayio_fourwire_type;
5757
common_hal_displayio_fourwire_construct(bus,
5858
spi,
@@ -63,7 +63,7 @@ void board_init(void) {
6363
0, // Polarity
6464
0); // Phase
6565

66-
displayio_display_obj_t *display = &displays[0].display;
66+
displayio_display_obj_t *display = &allocate_display()->display;
6767
display->base.type = &displayio_display_type;
6868
common_hal_displayio_display_construct(
6969
display,

ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/board.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ uint8_t display_init_sequence[] = {
7272

7373
void board_init(void) {
7474
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
75-
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
75+
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
7676
bus->base.type = &displayio_fourwire_type;
7777

7878
common_hal_displayio_fourwire_construct(
@@ -85,7 +85,7 @@ void board_init(void) {
8585
0, // polarity
8686
0 // phase
8787
);
88-
displayio_display_obj_t *display = &displays[0].display;
88+
displayio_display_obj_t *display = &allocate_display()->display;
8989
display->base.type = &displayio_display_type;
9090

9191
common_hal_displayio_display_construct(

0 commit comments

Comments
 (0)