|
6 | 6 |
|
7 | 7 | #include "shared-bindings/wifi/__init__.h"
|
8 | 8 | #include "shared-bindings/wifi/AuthMode.h"
|
| 9 | +#include "shared-bindings/wifi/PowerManagement.h" |
9 | 10 |
|
10 | 11 | #include <string.h>
|
11 | 12 |
|
@@ -189,33 +190,29 @@ MP_PROPERTY_GETSET(wifi_radio_tx_power_obj,
|
189 | 190 | (mp_obj_t)&wifi_radio_set_tx_power_obj);
|
190 | 191 |
|
191 | 192 | //| power_management: PowerManagement
|
192 |
| -//| """Wifi power management setting. The default is `wifi.PowerManagement.MIN. |
| 193 | +//| """Wifi power management setting. See `wifi.PowerManagement`. The default is `wifi.PowerManagement.MIN`. |
193 | 194 | //| """
|
194 | 195 | static mp_obj_t wifi_radio_get_power_management(mp_obj_t self_in) {
|
195 |
| - #if CIRCUITPY_WIFI_RADIO_SETTABLE_POWER_MANAGEMENT |
196 | 196 | wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
197 | 197 | return cp_enum_find(&wifi_power_management_type, common_hal_wifi_radio_get_power_management(self));
|
198 |
| - #else |
199 |
| - return MP_OBJ_FROM_PTR(&power_management_MIN); |
200 |
| - #endif |
201 | 198 | }
|
202 |
| -MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_listen_interval_obj, wifi_radio_get_listen_interval); |
| 199 | +MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_power_management_obj, wifi_radio_get_power_management); |
203 | 200 |
|
204 | 201 | static mp_obj_t wifi_radio_set_power_management(mp_obj_t self_in, mp_obj_t power_management_in) {
|
205 |
| - #if CIRCUITPY_WIFI_RADIO_SETTABLE_POWER_MANAGEMENT |
206 | 202 | wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
207 |
| - wifi_power_management_t power_management = cp_enum_value(&wifi_power_management_type, power_management_in, MP_QSTR_power_management); |
| 203 | + wifi_power_management_t power_management = |
| 204 | + cp_enum_value(&wifi_power_management_type, power_management_in, MP_QSTR_power_management); |
| 205 | + if (power_management == POWER_MANAGEMENT_UNKNOWN) { |
| 206 | + mp_arg_error_invalid(MP_QSTR_power_management); |
| 207 | + } |
208 | 208 | common_hal_wifi_radio_set_power_management(self, power_management);
|
209 |
| - #else |
210 |
| - mp_raise_NotImplementedError(NULL); |
211 |
| - #endif |
212 | 209 | return mp_const_none;
|
213 | 210 | }
|
214 |
| -MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_listen_interval_obj, wifi_radio_set_listen_interval); |
| 211 | +MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_power_management_obj, wifi_radio_set_power_management); |
215 | 212 |
|
216 |
| -MP_PROPERTY_GETSET(wifi_radio_listen_interval_obj, |
217 |
| - (mp_obj_t)&wifi_radio_get_listen_interval_obj, |
218 |
| - (mp_obj_t)&wifi_radio_set_listen_interval_obj); |
| 213 | +MP_PROPERTY_GETSET(wifi_radio_power_management_obj, |
| 214 | + (mp_obj_t)&wifi_radio_get_power_management_obj, |
| 215 | + (mp_obj_t)&wifi_radio_set_power_management_obj); |
219 | 216 |
|
220 | 217 | //| mac_address_ap: ReadableBuffer
|
221 | 218 | //| """MAC address for the AP. When the address is altered after interface is started
|
@@ -870,7 +867,7 @@ static const mp_rom_map_elem_t wifi_radio_locals_dict_table[] = {
|
870 | 867 | { MP_ROM_QSTR(MP_QSTR_ipv4_subnet_ap), MP_ROM_PTR(&wifi_radio_ipv4_subnet_ap_obj) },
|
871 | 868 | { MP_ROM_QSTR(MP_QSTR_ipv4_address), MP_ROM_PTR(&wifi_radio_ipv4_address_obj) },
|
872 | 869 | { MP_ROM_QSTR(MP_QSTR_ipv4_address_ap), MP_ROM_PTR(&wifi_radio_ipv4_address_ap_obj) },
|
873 |
| - { MP_ROM_QSTR(MP_QSTR_listen_interval), MP_ROM_PTR(&wifi_radio_listen_interval_obj) }, |
| 870 | + { MP_ROM_QSTR(MP_QSTR_power_management), MP_ROM_PTR(&wifi_radio_power_management_obj) }, |
874 | 871 |
|
875 | 872 | { MP_ROM_QSTR(MP_QSTR_set_ipv4_address), MP_ROM_PTR(&wifi_radio_set_ipv4_address_obj) },
|
876 | 873 | { MP_ROM_QSTR(MP_QSTR_set_ipv4_address_ap), MP_ROM_PTR(&wifi_radio_set_ipv4_address_ap_obj) },
|
|
0 commit comments