diff options
| author | Josef Gajdusek | 2015-05-15 09:56:41 +0200 |
|---|---|---|
| committer | Paul Sokolovsky | 2015-05-28 21:28:29 +0300 |
| commit | 492fd5cb6b8fcb8c88f238b20c28ca0bb2a1a84c (patch) | |
| tree | 0205b77d8b55ff2e13beefb17dba14efc0e7f4b2 /esp8266/modpyb.c | |
| parent | a16715ac623dccd66b1a113af255811bf92286e8 (diff) | |
esp8266: Enable setting CPU frequency to 160MHz
Diffstat (limited to 'esp8266/modpyb.c')
| -rw-r--r-- | esp8266/modpyb.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/esp8266/modpyb.c b/esp8266/modpyb.c index 5d57317b7..f02de9e30 100644 --- a/esp8266/modpyb.c +++ b/esp8266/modpyb.c @@ -81,10 +81,16 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(pyb_info_obj, 0, 1, pyb_info); STATIC mp_obj_t pyb_freq(mp_uint_t n_args, const mp_obj_t *args) { if (n_args == 0) { // get - return mp_obj_new_int(mp_hal_get_cpu_freq() * 1000000); + return mp_obj_new_int(system_get_cpu_freq() * 1000000); } else { // set - nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "can't change freq")); + mp_int_t freq = mp_obj_get_int(args[0]) / 1000000; + if (freq != 80 && freq != 160) { + nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, + "frequency can only be either 80Mhz or 160MHz")); + } + system_update_cpu_freq(freq); + return mp_const_none; } } STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(pyb_freq_obj, 0, 1, pyb_freq); |
