elchupanibrei (elchupanibrei) wrote,
elchupanibrei
elchupanibrei

Category:

Баг-фича в Arduino Framework для ESP8266

Если в главный цикл loop() в конце или начале добавить delay(1), а лучше delay(2), то можно не хило сэкономить на батарейках.




магический delay(1)

Быстродействие почти не меняется, а экономия внушительная:

- любая delay() > 1: 28 мА/ч
- delay(0) / yeld(): 50 мА/ч
- delayMicroseconds(1000): 50 мА/ч
- пустой loop(): 50 мА/ч
- любой loop() без delay(): 50 мА/ч

Итого разница в потреблении 1.79 раз!!! Впервые баг-фичу описали тут, а вчера наш соотечественник наступил на те же грабли здесь. Программы написанные на LUA такого подарка не имеют и потребляют 28 мА/ч.

Аксакалы говорят, что разработчики фреймворка под Arduino с самого начала свернули не на ту дорогу, все сделали через одно место и теперь мы имеем то что имеем. А люди на этом управление газовыми котлами пишут - вот где безумие и отвага. Особо одаренные встраивают в промышленное оборудование.
Tags: #arduino, #esp8266, arduino, esp8266
Subscribe

  • Time, Temperature & Humidity Relay - режим осушителя

    Пришли WiFi Relay module на ESP-01S описанные тут. Сдул феном 1-мегабайтную флешку и вкорячил 4 мегабайта, со сгоревшей ESP-12. В Arduino IDE…

  • Time, Temperature & Humidity Relay - новости с полей

    Я уже почти закончил tthRelay и собирался приступить к тестированию, как всплыла еще одна архиважная фича. Захотелось эмуляции кратковременно…

  • Скоро Time, Temperature & Humidity Relay

    Понадобилось мне подсушить подвал, уж очень там влажно. Пару раз забыл выключить. Итого +25% за электричество. Сначала планировал только режим…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment