Odpovídáte na názor ke článku Řízení kotle Arduinem.
Dobrý deň,
v prvom rade ďakujem za pekný, dobre čitateľný, článok a podelenie sa o "domáce hranie sa na úrovni".
Čo sa týka arduina, oceňujem vhlad a zhodnotenie kvality knižníc a podobne. S toolchainom mimo javy som sa stretol serióznejšie dosť dávno. Možno naposledy na škole, keď som bežal svoj notebook, aj server, zásadne na gentoo. Nedávno som sa pustil opäť do C/C++ vôd, len kvôli "domácej automatizácii". Konkrétne RP2040. Po prečítaní datashetu som bol nadšený a čudoval sa, že nám na strednej nepovedali, ako sa vlastne mení stav pin-u. Že to je "len" zápis na nejaké pamäťové miesto/register. Že viem atomicky napríklad invertovať, alebo set-núť viacero pinov naraz. A že toto nieje riadené knižnicou, ani makrom. Že záleží na fyzickom mcu, aké sú možnosti. V prípade arduina sa teda nad abstrakciou moc nezamýšlali a postavili to ako "detskú hračku". Teda aspoň, keď sa ide do hĺbky.
Prenesiem teraz ku komercii. Mám doma HW, kde je ovládacia doska vyrobená lokálnou firmou. Seriózny biznis. Keď som sa chcel na dosku integrovať, dostal som ukážkový kód, že ako. Bol určený pre raspbery pi 2. Keď som sa pozrel na zdrojáky, bol som zhrozený. Bol tam bit-banging i2c protokolu na GPIO pinoch. Hovorím si, že však i2c podporu rpi2 má. Tak som ju použil a nefungovalo to. Prečo? No lebo podľa nastavených konštánt bola prenosová rýchlosť mimo štandardu. Tak som to skúsil upvraviť. Stále to nešlo. Tam tom to po dni skúšania vyhodnotil, že asi majú "vlastné i2c" a skončil som s venovaním sa tejto zábavke. Zvažoval som, že dosku vymením a budem si ovládanie daného HW robiť sám. Po dlhšom uvažovaní so to ale zamietol s tím, že síce ovládam iba dva akčné prvky, ale vstupov (asi 15 skalárov dokopy) a fyziky za tím je privela na naštudovanie v rozumnom čase a bez praktických skúseností v obore :/ Aktuálne zvžujem, že by som sa danému výrobcovi ozval, že by som mu to prerobil, ak by mal záujem. S podmienkou, že sw by bol opensource. Netuším ale, či by tam bola šanca na úspech. Predsalen asi v tom má nejaké know-how.
Vrámci domáceho hrania som sa zoznámil s rp2040 na doskách "rpi pico" a "rpi pico w". Toto niesú dosky s "linuxom"! To je vpodstate armové mcu s 264 kB sram a dvoma jadrami na 133 MHz. Zdá sa, že na priemyselné použitie výrobca myslel a stav GPIO pinov sa dá nastaviť aj v "boot up" čase. Viď diskusia tuná: https://forum.arduino.cc/t/default-pin-state-at-start/948059/8
Osobne (keďže mám obmedzený čas na tento typ aktivít) idem iba týmto smerom, aj keď mám doma niekoľko arduino doštičiek. Zanevrel som na tento svet pri pohľade na komplexitu toolchainu okolo. Na rpi pico som skončil na micropython-e a podľa doterajšieho experimentovania si viem pohodlne zavesiť interrupt na nábežnú hranu na GPIO a nemusím to riešiť v loop-e. Obdobne viem programovať aj PIO (programmable I/O) a napríklad spraviť si scan matrix klávesnice, viď excelentné video od tvorcu simulátoru tohoto mcu: https://www.youtube.com/watch?v=LIA9wpt7N60&list=PL_tws4AXg7auiZHZsL-qfrXoMiUONBB0U&index=6
Ohladom komentaru v kode... Aj ja som rád nechával vedlajšie veci iba okomentované s predponou "TODO", až kým som nevidel toto prirovnanie: https://www.reddit.com/r/ProgrammerHumor/comments/1115ze9/no_one_will_ever_know/?rdt=48878 (komentár je len zametenie problému pod koberec a nie jeho vyriešenie).
Long story short: Ďakujem za perfektný článok. Je to čiastočne inšpirácia na podobný projekt a hádam aj na podobný blogpost (aj keď čitateľnosťou sa chytať nebudem. To viem.)
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 57 621×
Přečteno 27 724×
Přečteno 26 404×
Přečteno 24 368×
Přečteno 22 865×