diff --git a/embed/extmod/modtrezorui/display-stm32.h b/embed/extmod/modtrezorui/display-stm32.h index 87bb566d..52419d20 100644 --- a/embed/extmod/modtrezorui/display-stm32.h +++ b/embed/extmod/modtrezorui/display-stm32.h @@ -271,6 +271,6 @@ void display_refresh(void) while (GPIO_PIN_SET == HAL_GPIO_ReadPin(GPIOD, GPIO_PIN_12)) { } } -void display_save(const char *filename) +void display_save(const char *prefix) { } diff --git a/embed/extmod/modtrezorui/display-unix.h b/embed/extmod/modtrezorui/display-unix.h index 796589ce..0ada6de2 100644 --- a/embed/extmod/modtrezorui/display-unix.h +++ b/embed/extmod/modtrezorui/display-unix.h @@ -153,12 +153,16 @@ static void display_set_backlight(int val) display_refresh(); } -void display_save(const char *filename) +void display_save(const char *prefix) { #ifndef TREZOR_NOUI if (!RENDERER) { display_init(); } - IMG_SavePNG(BUFFER, filename); + static uint32_t cnt = 0; + char fname[256]; + snprintf(fname, sizeof(fname), "%s%08d.png", prefix, cnt); + IMG_SavePNG(BUFFER, fname); + cnt++; #endif } diff --git a/embed/extmod/modtrezorui/display.h b/embed/extmod/modtrezorui/display.h index 752a5faa..ea9befdb 100644 --- a/embed/extmod/modtrezorui/display.h +++ b/embed/extmod/modtrezorui/display.h @@ -54,7 +54,7 @@ void display_init(void); void display_refresh(void); -void display_save(const char *filename); +void display_save(const char *prefix); // provided by common diff --git a/embed/extmod/modtrezorui/modtrezorui-display.h b/embed/extmod/modtrezorui/modtrezorui-display.h index c6f90d8e..5e2f4849 100644 --- a/embed/extmod/modtrezorui/modtrezorui-display.h +++ b/embed/extmod/modtrezorui/modtrezorui-display.h @@ -414,15 +414,15 @@ STATIC mp_obj_t mod_trezorui_Display_offset(size_t n_args, const mp_obj_t *args) } STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_offset_obj, 1, 2, mod_trezorui_Display_offset); -/// def save(self, filename: str) -> None: +/// def save(self, prefix: str) -> None: /// ''' -/// Saves current display contents to file filename. +/// Saves current display contents to PNG file with given prefix. /// ''' -STATIC mp_obj_t mod_trezorui_Display_save(mp_obj_t self, mp_obj_t filename) { - mp_buffer_info_t fn; - mp_get_buffer_raise(filename, &fn, MP_BUFFER_READ); - if (fn.len > 0) { - display_save(fn.buf); +STATIC mp_obj_t mod_trezorui_Display_save(mp_obj_t self, mp_obj_t prefix) { + mp_buffer_info_t pfx; + mp_get_buffer_raise(prefix, &pfx, MP_BUFFER_READ); + if (pfx.len > 0) { + display_save(pfx.buf); } return mp_const_none; }