Add cyw43.set_power_management

This commit is contained in:
Jeff Epler 2022-09-29 09:09:52 -05:00
parent 91f1266db5
commit 12ea04ca70
No known key found for this signature in database
GPG Key ID: D5BF15AB975AB4DE

View File

@ -49,6 +49,23 @@ const mp_obj_type_t cyw43_pin_type = {
)
};
//| def set_power_management(/, value:int) -> None:
//| """Set the power management register
//|
//| According to Raspberry Pi documentation, the value 0xa11140
//| increases responsiveness at the cost of higher power usage.
//|
//| Besides this value, there appears to be no other public documentation
//| of the values that can be used.
//| """
//|
STATIC mp_obj_t cyw43_set_power_management(const mp_obj_t value_in) {
mp_int_t value = mp_obj_get_int(value_in);
cyw43_wifi_pm(&cyw43_state, value);
return mp_const_none;
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(cyw43_set_power_management_obj, cyw43_set_power_management);
const mcu_pin_obj_t *validate_obj_is_pin_including_cyw43(mp_obj_t obj) {
if (!mp_obj_is_type(obj, &mcu_pin_type) && !mp_obj_is_type(obj, &cyw43_pin_type)) {
mp_raise_TypeError_varg(translate("Expected a %q or %q"), mcu_pin_type.name, cyw43_pin_type.name);
@ -65,6 +82,7 @@ const mcu_pin_obj_t *validate_obj_is_free_pin_including_cyw43(mp_obj_t obj) {
STATIC const mp_rom_map_elem_t cyw43_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_cyw43) },
{ MP_ROM_QSTR(MP_QSTR_CywPin), MP_ROM_QSTR(MP_QSTR_CywPin) },
{ MP_ROM_QSTR(MP_QSTR_set_power_management), MP_ROM_QSTR(MP_QSTR_set_power_management) },
};
STATIC MP_DEFINE_CONST_DICT(cyw43_module_globals, cyw43_module_globals_table);