From fc718d943794d294a5f80d1a041f13f1522a81ab Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Wed, 22 Feb 2017 12:59:04 +0100 Subject: [PATCH] ESP8266: Stop supporting 400khz neopixels through old esp module API. It still accepts the parameter for backwards compatibility and to provide a good error when it can't work. Using the `neopixel_write` module instead is recommended because its available on all CircuitPython supported ports. --- esp8266/modesp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/esp8266/modesp.c b/esp8266/modesp.c index b7ce122b17..f13d94b32f 100644 --- a/esp8266/modesp.c +++ b/esp8266/modesp.c @@ -672,8 +672,11 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_check_fw_obj, esp_check_fw); STATIC mp_obj_t esp_neopixel_write_(mp_obj_t pin, mp_obj_t buf, mp_obj_t is800k) { mp_buffer_info_t bufinfo; mp_get_buffer_raise(buf, &bufinfo, MP_BUFFER_READ); + if (!mp_obj_is_true(is800k)) { + nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Only 800khz neopixels are supported.")); + } esp_neopixel_write(mp_obj_get_pin_obj(pin)->phys_port, - (uint8_t*)bufinfo.buf, bufinfo.len, mp_obj_is_true(is800k)); + (uint8_t*)bufinfo.buf, bufinfo.len); return mp_const_none; } STATIC MP_DEFINE_CONST_FUN_OBJ_3(esp_neopixel_write_obj, esp_neopixel_write_);