[Asi hlavne pro Idrise]
Tak mi to nedalo se na stav konkurentnosti v embedded Rustu aspon z rychliku nekouknout. Ciste subjektivni shrnuti po jenom par hodinach pruzkumu a zkouseni...
Hodne jsem valil bulvy na tenhle projekt:
https://rtic.rs/0.5/book/en/ Hlavne proto, ze dobre ilustruje, jaky brutality se s Rustem daji delat, kdyz mu clovek rozumi. Makra vytezeny na maximum
Je to fakt zajimavej framework, ale CSP to neni, protoze tasky musi byt staticky definovany (muzou se dynamicky planovat, ale nemuzou se - jestli jsem neco neprehlidl - uplne libovolne dynamicky vytvaret). A vysoka uroven garanci se dosahuje za cenu takove, jak to rict neurazlive... no, treba "komplikovane syntakticke ztuhlosti".
Viz
https://github.com/rtic-rs/rtic-examplesPak je taky zajimavy, ze v Rustu pro embedded (minimalne ARMv7) by mel uz fungovat async/await. Bohuzel samozrejme s jeho typickou nectnosti - "cervenomodry svet"[1] = vsechny dosavadni knihovny je na nej potreba naroubovat. Takze treba pro Blue Pill nejake knihovny jsou, ale v ruznem stavu rozvrtanosti
Presne jak v Pythonu, kdyz s async/await zacal
Takze nejaky to technology preview CSPcka by se asi pomoci async/await napsat dalo, ale asi jenom pro vybranej hardware a na moznost solidnejsiho pouziti je potreba si jeste nejakou chvilku pockat...
Jinak je ale pekny, ze se v Rustu MCUs uz fakt programovat daji dost slusne (alespon teda ten Blue Pill, co jsem zkousel). A je to presne takova pecka, jakou jsem ocekaval - nejenom, ze se hlida bezpecnost pameti, to je v Rustu tak nejak samozrejmy, ale
kompiler mi treba vynadal, ze na tomhle pinu s LEDkou blikat nemuzu, protoze je tam namapovanej debugger. Say WOW!
[1]
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/