Re: Arduino+CNC
Napsal: 11. 2. 2017, 2:40
Nechtěl jsem se do tohodle vlákna montoval, ale když už jsem byl vyzván ...Hades píše:a těď do mne Mexi, jenže já su starej blb, co ještě programuje v asembleru aCéčko bere jako nutné zlo...
Lidi mají různé úchylky. Někdo se nechá svázat, mlátit rákoskou a ještě za to platí, někdo jiný zase programuje v Assembleru.

Já jsem kdysi dávno (někdy v době, kdy vznikalo hnědé uhlí) v Assembleru taky hodně dělal a nedal na to dopustit. Psal jsem nejen pro jednochipy (tam to tehdy ani moc jinak nešlo), ale i pro PC. Třeba TCP/IP stack, který jsem před nějakými 23 roky napsal pro PC právě v Assembleru se rutinně používá dodnes v docela kritických aplikacích.
Jenže čas oponou trhnul a změněn je svět.
Kvalita a dostupnost překladačů C se silně zvýšila, a hlavně se dramaticky zvedl výkon a možnosti hardware. Takže jistě to stále jde dělat stejně jako kdysi, ale už je to skoro zbytečné, protože v tom Céčku danou věc napíšu mnohem rychleji, přehledněji a udržovatelněji (to je velmi silný důvod). Teoreticky samozřejmě kvalitní programátor napíše kód v Assembleru líp, než to přeloží překladač. Jenže v praxi to už často bývá naopak, protože prostě v tom Céčku píšu o tolik snadněji, že mám čas a sílu udělat optimalizaci algoritmu na vyšší úrovni (samozřejmě mluvím o rozsáhlejších projektech, ne o nějakém blikání LEDkou).
Ale ani při práci v C se Tvé Assemberovské know-how neztratí. Lidi, kteří někdy dělali v Assembleru mají většinou mnohem větší cit pro to, jak dobře napsat program i ve vyšším jazyce. Je to asi něco podobného, jako uživatel CNC, který dělal a umí na klasice, má větší cit pro stroj a materiál než někdo, kdo to zná akorát přes monitor počítače.
K otázce Arduina: jako školní projekt to bylo udělané skvěle. V době vzniku to asi bylo dobré řešení i pro nějaké skutečné nasazení, nejen pro blikání LED.
Jenže i tady čas oponou trhnul. Dneska se dá za víceméně stejné peníze pořídit mnohem lepší a výkonnější hardware. Než koupit za 2 USD Arduino, tak to raději za 2.5 USD koupím desku se 32-bitovám ARMem. A místo 2 KByte RAM mám 20 KByte, místo 16 MHz to jede na 72 MHz, a kromě toho to má mnohem výkonnější periferie. A právě ty periferky jsou něco, co se počítá. Takže třeba čítače na tom ARMu mají hardwarovou podporu pro připojení enkodérů. Prostě tam připojím linky A a B a hardware se mi sám stará o to, že v kterémkoli okamžiku znám přesnou polohu. A kdo někdy programoval obsluhu rychlého enkodéru bez HW podpory tak ví, že to není taková sranda, zvlášť pokud se ještě pracuje s nekvalitními enkodéry a je třeba řešit filtrování zákmitů.
Kvůli čemu ale stojí zato Arduino stále používat je právě GRBL, a pak různé sytémy pro 3D tiskárny. To GRBL a všechny jeho deriváty je skvěle napsaný software, který z toho (na dnešní dobu mizerného) hardware vyždímal opravdu neskutečně moc.
Tady fakt klobou dolů.