Roky jsem si trhal vlasy z chyb v NodeMCU. Stovky bezesných nocí. Tisíce výčitek, proč jsem to raději nenapsal v C v Arduino IDE pomocí Arduino Core. Určitě by tam nebyly žádné podivné chyby, jsem si vždycky říkal... Chacha, jak krutě jsem se mýlil!
Včera vyšlo Arduino Core 2.5.0 - docela revoluční verze, stovky klíčových oprav, mimochodem už umí i IPv6 (což tu teď není důležité, ale často se mě na to lidi ptali).
Napsal jsem (ještě pro verzi 2.4.2) kratičký prográmek pro můj LEDový informační displej. Vše bezvadně fungovalo, ale ve verzi 2.5.0 změnili SSL knihovnu, tak jsem to musel přepsat. Inspiroval jsem se z dodaného příkladu
BasicHttpsClient. Výsledek ale padal chvíli poté, co z webu načetl nové teploty a zobrazil je na displeji. Dlouho jsem to řešil. Mnoho hodin ztracených. Další vlasy vytrhané. Nemohl jsem na nic přijít. Až pak jsem náhodou zjistil, že když zapnu Debugging, tak chyba zmizí! Ano, typický Heisenbug - jakmile na něj zaměříte pozornost, zmizí, a vrátí se, až když se nedíváte. Smrt!
Nezbylo mi, než chybu nahlásit (odkaz níže).
Bohužel však vím, že když si nepomůžu sám, tak to stejně nikdo nebude řešit. Takže dalších 12 hodin v <>. Další ladění, zkoušení, zkoumání, furt nahrávání atd.
Až nakonec jsem na to přišel! Stačí v céčku prohodit pořadí dvou řádků a program přestaně padat. No, a nebo nastavit ten Debugging. Říkám si "
Zlatá Lua! Zlaté NodeMCU!"...
Všude číhají pasti jak sviňa. Programování ESP8266 je skutečně "zábava"
github.com/esp8266/Arduino/iss…
Petr Stehlík 1 week ago
https://github.com/esp8266/Arduino/pull/5739
Jan Kratochvíl 1 week ago
Petr Stehlík 1 week ago