Skip to content

Merge from 9.2.x 2025 05 23 #10370

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
May 23, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ports/atmel-samd/boards/openbook_m4/board.c
Original file line number Diff line number Diff line change
@@ -85,6 +85,7 @@ void board_init(void) {
false, // chip_select (don't always toggle chip select)
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
Original file line number Diff line number Diff line change
@@ -141,6 +141,7 @@ void board_init(void) {
false, // always_toggle_chip_select
true, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
Original file line number Diff line number Diff line change
@@ -10,6 +10,7 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB

CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_PARALLELDISPLAYBUS = 0

# Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ConnectionManager
Original file line number Diff line number Diff line change
@@ -16,3 +16,4 @@ CIRCUITPY_CODEOP = 0

# Not enough pins.
CIRCUITPY_PARALLELDISPLAYBUS = 0
CIRCUITPY_RGBMATRIX = 0
Original file line number Diff line number Diff line change
@@ -96,6 +96,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
1 change: 1 addition & 0 deletions ports/espressif/boards/heltec_vision_master_e290/board.c
Original file line number Diff line number Diff line change
@@ -94,6 +94,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
true); // address_little_endian
}
1 change: 1 addition & 0 deletions ports/espressif/boards/heltec_wireless_paper/board.c
Original file line number Diff line number Diff line change
@@ -134,6 +134,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
1 change: 1 addition & 0 deletions ports/espressif/boards/m5stack_m5paper/board.c
Original file line number Diff line number Diff line change
@@ -74,6 +74,7 @@ void board_init(void) {
// false, // always_toggle_chip_select
// false, // grayscale
// true, // acep
// false, // spectra6
// false, // two_byte_sequence_length
// false // address_little_endian
// );
Original file line number Diff line number Diff line change
@@ -7,6 +7,8 @@ CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB

CIRCUITPY_CODEOP = 0

CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
1 change: 1 addition & 0 deletions ports/espressif/boards/sqfmi_watchy/board.c
Original file line number Diff line number Diff line change
@@ -190,6 +190,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
true // address_little_endian
);
2 changes: 1 addition & 1 deletion ports/espressif/common-hal/audiobusio/__init__.c
Original file line number Diff line number Diff line change
@@ -184,7 +184,7 @@ void port_i2s_play(i2s_t *self, mp_obj_t sample, bool loop) {
self->next_buffer_size = sizeof(starting_frame);
i2s_fill_buffer(self);
i2s_channel_preload_data(self->handle, &starting_frame, sizeof(uint32_t), &bytes_loaded);
preloaded += 1;
preloaded += bytes_loaded;
}

// enable the channel
3 changes: 3 additions & 0 deletions ports/raspberrypi/boards/42keebs_frood/pins.c
Original file line number Diff line number Diff line change
@@ -49,6 +49,9 @@ static const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO15) },
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO16) },

{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO11) },

{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_VBUS_SENSE), MP_ROM_PTR(&pin_GPIO19) },
Original file line number Diff line number Diff line change
@@ -281,6 +281,7 @@ void board_init(void) {
true, // always_toggle_chip_select
false, // not grayscale
false, // not acep
false, // not spectra6
false, // not two_byte_sequence_length
true); // address_little_endian
} else if (vid_setting == 2) { // Explorer SSD1608 BW
@@ -314,6 +315,7 @@ void board_init(void) {
true, // always_toggle_chip_select
false, // not grayscale
false, // not acep
false, // not spectra6
false, // not two_byte_sequence_length
true); // address_little_endian
} else {
1 change: 1 addition & 0 deletions ports/raspberrypi/boards/pimoroni_badger2040/board.c
Original file line number Diff line number Diff line change
@@ -303,6 +303,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
1 change: 1 addition & 0 deletions ports/raspberrypi/boards/pimoroni_badger2040w/board.c
Original file line number Diff line number Diff line change
@@ -303,6 +303,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
false, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
1 change: 1 addition & 0 deletions ports/raspberrypi/boards/pimoroni_inky_frame_5_7/board.c
Original file line number Diff line number Diff line change
@@ -97,6 +97,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
true, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
Original file line number Diff line number Diff line change
@@ -14,8 +14,8 @@

#define MICROPY_HW_LED_STATUS (&pin_GPIO6)

#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO5)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO4)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO5)

#define DEFAULT_UART_BUS_TX (&pin_GPIO0)
#define DEFAULT_UART_BUS_RX (&pin_GPIO1)
1 change: 1 addition & 0 deletions ports/raspberrypi/boards/pimoroni_inky_frame_7_3/board.c
Original file line number Diff line number Diff line change
@@ -156,6 +156,7 @@ void board_init(void) {
false, // always_toggle_chip_select
false, // grayscale
true, // acep
false, // spectra6
false, // two_byte_sequence_length
false); // address_little_endian
}
Original file line number Diff line number Diff line change
@@ -14,8 +14,8 @@

#define MICROPY_HW_LED_STATUS (&pin_GPIO6)

#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO5)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO4)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO5)

#define DEFAULT_UART_BUS_TX (&pin_GPIO0)
#define DEFAULT_UART_BUS_RX (&pin_GPIO1)
7 changes: 5 additions & 2 deletions shared-bindings/epaperdisplay/EPaperDisplay.c
Original file line number Diff line number Diff line change
@@ -62,6 +62,7 @@
//| always_toggle_chip_select: bool = False,
//| grayscale: bool = False,
//| advanced_color_epaper: bool = False,
//| spectra6: bool = False,
//| two_byte_sequence_length: bool = False,
//| start_up_time: float = 0,
//| address_little_endian: bool = False,
@@ -104,6 +105,7 @@
//| :param bool always_toggle_chip_select: When True, chip select is toggled every byte
//| :param bool grayscale: When true, the color ram is the low bit of 2-bit grayscale
//| :param bool advanced_color_epaper: When true, the display is a 7-color advanced color epaper (ACeP)
//| :param bool spectra6: When true, the display is a 6-color spectra6 epaper
//| :param bool two_byte_sequence_length: When true, use two bytes to define sequence length
//| :param float start_up_time: Time to wait after reset before sending commands
//| :param bool address_little_endian: Send the least significant byte (not bit) of multi-byte addresses first. Ignored when ram is addressed with one byte
@@ -117,7 +119,7 @@ static mp_obj_t epaperdisplay_epaperdisplay_make_new(const mp_obj_type_t *type,
ARG_set_current_row_command, ARG_write_black_ram_command, ARG_black_bits_inverted,
ARG_write_color_ram_command, ARG_color_bits_inverted, ARG_highlight_color,
ARG_refresh_display_command, ARG_refresh_time, ARG_busy_pin, ARG_busy_state,
ARG_seconds_per_frame, ARG_always_toggle_chip_select, ARG_grayscale, ARG_advanced_color_epaper,
ARG_seconds_per_frame, ARG_always_toggle_chip_select, ARG_grayscale, ARG_advanced_color_epaper, ARG_spectra6,
ARG_two_byte_sequence_length, ARG_start_up_time, ARG_address_little_endian };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_display_bus, MP_ARG_REQUIRED | MP_ARG_OBJ },
@@ -147,6 +149,7 @@ static mp_obj_t epaperdisplay_epaperdisplay_make_new(const mp_obj_type_t *type,
{ MP_QSTR_always_toggle_chip_select, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
{ MP_QSTR_grayscale, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
{ MP_QSTR_advanced_color_epaper, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
{ MP_QSTR_spectra6, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
{ MP_QSTR_two_byte_sequence_length, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
{ MP_QSTR_start_up_time, MP_ARG_OBJ | MP_ARG_KW_ONLY, {.u_obj = MP_OBJ_NEW_SMALL_INT(0)} },
{ MP_QSTR_address_little_endian, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
@@ -215,7 +218,7 @@ static mp_obj_t epaperdisplay_epaperdisplay_make_new(const mp_obj_type_t *type,
args[ARG_write_black_ram_command].u_int, args[ARG_black_bits_inverted].u_bool, write_color_ram_command,
args[ARG_color_bits_inverted].u_bool, highlight_color, refresh_buf, refresh_buf_len, refresh_time,
busy_pin, args[ARG_busy_state].u_bool, seconds_per_frame,
args[ARG_always_toggle_chip_select].u_bool, args[ARG_grayscale].u_bool, args[ARG_advanced_color_epaper].u_bool,
args[ARG_always_toggle_chip_select].u_bool, args[ARG_grayscale].u_bool, args[ARG_advanced_color_epaper].u_bool, args[ARG_spectra6].u_bool,
two_byte_sequence_length, args[ARG_address_little_endian].u_bool
);

2 changes: 1 addition & 1 deletion shared-bindings/epaperdisplay/EPaperDisplay.h
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ void common_hal_epaperdisplay_epaperdisplay_construct(epaperdisplay_epaperdispla
uint16_t write_color_ram_command, bool color_bits_inverted, uint32_t highlight_color,
const uint8_t *refresh_sequence, uint16_t refresh_sequence_len, mp_float_t refresh_time,
const mcu_pin_obj_t *busy_pin, bool busy_state, mp_float_t seconds_per_frame,
bool always_toggle_chip_select, bool grayscale, bool acep, bool two_byte_sequence_length,
bool always_toggle_chip_select, bool grayscale, bool acep, bool spectra6, bool two_byte_sequence_length,
bool address_little_endian);

bool common_hal_epaperdisplay_epaperdisplay_refresh(epaperdisplay_epaperdisplay_obj_t *self);
Loading
Oops, something went wrong.