@@ -217,6 +217,30 @@ STATIC mp_obj_t displayio_epaperdisplay_obj_show(mp_obj_t self_in, mp_obj_t grou
217
217
}
218
218
MP_DEFINE_CONST_FUN_OBJ_2 (displayio_epaperdisplay_show_obj , displayio_epaperdisplay_obj_show );
219
219
220
+ STATIC mp_obj_t update_refresh_mode (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args )
221
+ {
222
+ enum { ARG_start_sequence , ARG_seconds_per_frame };
223
+ static const mp_arg_t allowed_args [] = {
224
+ { MP_QSTR_start_sequence , MP_ARG_REQUIRED | MP_ARG_OBJ },
225
+ { MP_QSTR_seconds_per_frame , MP_ARG_OBJ , {.u_obj = MP_OBJ_NEW_SMALL_INT (180 )} },
226
+ };
227
+ displayio_epaperdisplay_obj_t * self = native_display (pos_args [0 ]);
228
+ mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
229
+ mp_arg_parse_all (n_args - 1 , pos_args + 1 , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
230
+
231
+ // Get parameters
232
+ mp_buffer_info_t start_sequence ;
233
+ mp_get_buffer_raise (args [ARG_start_sequence ].u_obj , & start_sequence , MP_BUFFER_READ );
234
+ float seconds_per_frame = mp_obj_get_float (args [ARG_seconds_per_frame ].u_obj );
235
+
236
+ // Update parameters
237
+ self -> start_sequence = (uint8_t * )start_sequence .buf ;
238
+ self -> start_sequence_len = start_sequence .len ;
239
+ self -> milliseconds_per_frame = seconds_per_frame * 1000 ;
240
+ return mp_const_none ;
241
+ }
242
+ MP_DEFINE_CONST_FUN_OBJ_KW (update_refresh_mode_obj , 3 , update_refresh_mode );
243
+
220
244
//| def refresh(self) -> None:
221
245
//| """Refreshes the display immediately or raises an exception if too soon. Use
222
246
//| ``time.sleep(display.time_to_refresh)`` to sleep until a refresh can occur."""
@@ -339,6 +363,7 @@ const mp_obj_property_t displayio_epaperdisplay_bus_obj = {
339
363
340
364
STATIC const mp_rom_map_elem_t displayio_epaperdisplay_locals_dict_table [] = {
341
365
{ MP_ROM_QSTR (MP_QSTR_show ), MP_ROM_PTR (& displayio_epaperdisplay_show_obj ) },
366
+ { MP_ROM_QSTR (MP_QSTR_update_refresh_mode ), MP_ROM_PTR (& update_refresh_mode_obj ) },
342
367
{ MP_ROM_QSTR (MP_QSTR_refresh ), MP_ROM_PTR (& displayio_epaperdisplay_refresh_obj ) },
343
368
344
369
{ MP_ROM_QSTR (MP_QSTR_width ), MP_ROM_PTR (& displayio_epaperdisplay_width_obj ) },
0 commit comments