Skip to content

Commit

Permalink
PicoGraphics: Support for Explorer.
Browse files Browse the repository at this point in the history
  • Loading branch information
Gadgetoid committed Aug 14, 2024
1 parent b22f1b2 commit 37cfe8c
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 3 deletions.
3 changes: 2 additions & 1 deletion drivers/st7789/st7789.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,10 @@ namespace pimoroni {
cs(pins.cs), dc(pins.dc), wr_sck(pins.wr_sck), rd_sck(pins.rd_sck), d0(pins.d0), bl(pins.bl) {

parallel_pio = pio1;
pio_set_gpio_base(parallel_pio, d0 + 8 >= 32 ? 16 : 0);
parallel_sm = pio_claim_unused_sm(parallel_pio, true);
parallel_offset = pio_add_program(parallel_pio, &st7789_parallel_program);

//gpio_init(wr_sck);
//gpio_set_dir(wr_sck, GPIO_OUT);
//gpio_set_function(wr_sck, GPIO_FUNC_SIO);
Expand Down
1 change: 1 addition & 0 deletions micropython/modules/picographics/picographics.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ static const mp_map_elem_t picographics_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_DISPLAY_UNICORN_PACK), MP_ROM_INT(DISPLAY_UNICORN_PACK) },
{ MP_ROM_QSTR(MP_QSTR_DISPLAY_SCROLL_PACK), MP_ROM_INT(DISPLAY_SCROLL_PACK) },
{ MP_ROM_QSTR(MP_QSTR_DISPLAY_PICO_W_EXPLORER), MP_ROM_INT(DISPLAY_PICO_W_EXPLORER) },
{ MP_ROM_QSTR(MP_QSTR_DISPLAY_EXPLORER), MP_ROM_INT(DISPLAY_EXPLORER) },

{ MP_ROM_QSTR(MP_QSTR_PEN_1BIT), MP_ROM_INT(PEN_1BIT) },
{ MP_ROM_QSTR(MP_QSTR_PEN_P4), MP_ROM_INT(PEN_P4) },
Expand Down
14 changes: 13 additions & 1 deletion micropython/modules/picographics/picographics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ typedef struct _ModPicoGraphics_obj_t {

bool get_display_settings(PicoGraphicsDisplay display, int &width, int &height, int &rotate, int &pen_type, PicoGraphicsBusType &bus_type) {
switch(display) {
case DISPLAY_EXPLORER:
width = 320;
height = 240;
bus_type = BUS_PARALLEL;
if(rotate == -1) rotate = (int)Rotation::ROTATE_0;
if(pen_type == -1) pen_type = PEN_RGB565;
break;
case DISPLAY_PICO_DISPLAY:
width = 240;
height = 135;
Expand Down Expand Up @@ -335,6 +342,10 @@ mp_obj_t ModPicoGraphics_make_new(const mp_obj_type_t *type, size_t n_args, size
} else if (display == DISPLAY_PICO_W_EXPLORER) {
spi_bus = {PIMORONI_SPI_DEFAULT_INSTANCE, 17, SPI_DEFAULT_SCK, SPI_DEFAULT_MOSI, PIN_UNUSED, SPI_DEFAULT_MISO, 9};
}
} else if (bus_type == BUS_PARALLEL) {
if (display == DISPLAY_EXPLORER) {
parallel_bus = {27, 28, 30, 31, 32, 26};
}
}
}

Expand All @@ -349,7 +360,8 @@ mp_obj_t ModPicoGraphics_make_new(const mp_obj_type_t *type, size_t n_args, size
// TODO grab BUSY and RESET from ARG_extra_pins
self->display = m_new_class(Inky73, width, height, (Rotation)rotate, spi_bus);

} else if (display == DISPLAY_TUFTY_2040) {
} else if (display == DISPLAY_TUFTY_2040
|| display == DISPLAY_EXPLORER) {
self->display = m_new_class(ST7789, width, height, (Rotation)rotate, parallel_bus);

} else if (display == DISPLAY_LCD_160X80) {
Expand Down
3 changes: 2 additions & 1 deletion micropython/modules/picographics/picographics.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ enum PicoGraphicsDisplay {
DISPLAY_STELLAR_UNICORN,
DISPLAY_UNICORN_PACK,
DISPLAY_SCROLL_PACK,
DISPLAY_PICO_W_EXPLORER
DISPLAY_PICO_W_EXPLORER,
DISPLAY_EXPLORER
};

enum PicoGraphicsPenType {
Expand Down

0 comments on commit 37cfe8c

Please sign in to comment.