Wakeup: Add method to reset latched SR state.

patch/inky_build
Phil Howard 2022-12-19 15:31:30 +00:00
rodzic f1e9e00cd5
commit 5251baf764
3 zmienionych plików z 20 dodań i 3 usunięć

Wyświetl plik

@ -2,11 +2,13 @@
STATIC MP_DEFINE_CONST_FUN_OBJ_0(Wakeup_get_gpio_state_obj, Wakeup_get_gpio_state);
STATIC MP_DEFINE_CONST_FUN_OBJ_0(Wakeup_get_shift_state_obj, Wakeup_get_shift_state);
STATIC MP_DEFINE_CONST_FUN_OBJ_0(Wakeup_reset_shift_state_obj, Wakeup_reset_shift_state);
STATIC const mp_map_elem_t wakeup_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_wakeup) },
{ MP_ROM_QSTR(MP_QSTR_get_gpio_state), MP_ROM_PTR(&Wakeup_get_gpio_state_obj) },
{ MP_ROM_QSTR(MP_QSTR_get_shift_state), MP_ROM_PTR(&Wakeup_get_shift_state_obj) }
{ MP_ROM_QSTR(MP_QSTR_get_shift_state), MP_ROM_PTR(&Wakeup_get_shift_state_obj) },
{ MP_ROM_QSTR(MP_QSTR_reset_shift_state), MP_ROM_PTR(&Wakeup_reset_shift_state_obj) }
};
STATIC MP_DEFINE_CONST_DICT(mp_module_wakeup_globals, wakeup_globals_table);

Wyświetl plik

@ -62,11 +62,25 @@ mp_obj_t Wakeup_get_gpio_state() {
return mp_obj_new_int(runtime_wakeup_gpio_state);
}
void err_no_sr() {
mp_raise_msg(&mp_type_RuntimeError, "Wakeup_get_shift_state: board does not have a shift register.");
}
mp_obj_t Wakeup_reset_shift_state() {
#if WAKEUP_HAS_SHIFT_REGISTER==1
wakeup.shift_register_state = 0;
return mp_const_none;
#endif
err_no_sr();
return mp_const_none;
}
mp_obj_t Wakeup_get_shift_state() {
#if WAKEUP_HAS_SHIFT_REGISTER==1
return mp_obj_new_int(wakeup.shift_register_state);
#endif
mp_raise_msg(&mp_type_RuntimeError, "Wakeup_get_shift_state: board does not have a shift register.");
err_no_sr();
return mp_const_none;
}
}

Wyświetl plik

@ -2,4 +2,5 @@
#include "py/objstr.h"
extern mp_obj_t Wakeup_get_gpio_state();
extern mp_obj_t Wakeup_get_shift_state();
extern mp_obj_t Wakeup_get_shift_state();
extern mp_obj_t Wakeup_reset_shift_state();