Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Idris

Stran: 1 ... 73 74 [75] 76 77 ... 153
1111
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 12:35:18 »
pro Pico myslím ještě FreeRTOS není
To brzo doženou. Jak píšu, je to prostě for fun, nicméně ta nadstavba nad tím (CSP, (polo)automatická správa paměti apod.) může mít i praktický význam. Momentálně se věnuju úplně jiným věcem, které by byly na Rootu off topic (nebo off scale). Jak už bylo řečeno, scheduler a korutiny jsou technikálie, jde o CSP. Zrovna to "síťové" (tady spíš přes I2C/UART) by ještě stálo za to.

1112
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 12:27:34 »
Imigranti z východní Evropy cpou členy všude a říkají "le bonjour, le monde", proto se na ně všichni koukají spatra.
To jsem nevěděl, že deník Le Monde vedou imigranti z východní Evropy :)
Nevíš, co je vokativ? Píšeš v kódu "hello, the world"? Už se neztrapňuj.

1113
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 12:18:21 »
Kanadská  :P
V Kanadě se nepoužívají členy?
Imigranti z východní Evropy cpou členy všude a říkají "le bonjour, le monde", proto se na ně všichni koukají spatra.

1114
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 12:15:21 »
Hele, ale vazne: jakej smysl ma implementovat stackful coroutiny? To uz muzu rovnou pouzit FreeRTOS a budu mit batteries included, ne?
Kolik místa zabere FreeRTOS? Když chci jen CSP a nic dalšího, tak to IMHO smysl má, ale záleží případ od případu. Navíc to je spíš jen for fun (aby to bylo aspoň trochu reálně použitelné, muselo by se pár věcí dopsat/přepsat), na malinkých MCU už jen malloc je na pováženou. Největší smysl je asi didaktický, jak se dělají korutiny (stejné by to bylo i na jiných procesorech) a jak CSP a podobné divnosti.

1115
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 12:08:49 »
"Bonjour, monde!" je britska nebo americka anglictina?
Kanadská  :P

1116
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 26. 03. 2021, 12:03:53 »
Listy a Rusty a Ruby a Go přicházejí a odcházejí, lidi co se naučili c/c++ zůstávají a a mají práci. Když se člověk naučí první jazyk, ty další už jdou lehce. A algoritmizace je skoro jako univerzální jazyk, když vymyslím jak to bude fungovat, přepsat to do nějakého jazyka je už druhotné.
Tak nějak. Tedy hlavně to C. U toho C++ už to je taky jiný level.

1117
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 12:01:47 »
Ta francouzština je tam příšerná, ten kód ani nemá cenu číst ;)
Jaká? Předpokládám, že ti zcela uniká rozdíl mezi britskou a americkou angličtinou. Udělals ze sebe debila ;) Au revoir.

1118
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 11:05:33 »

Ještě mi bude chvilku trvat, než doplním chybějící věci, ale přepínání kontextu už šlape, to je ostatně to nejhorší (protože asm). Korutina:
Kód: [Vybrat]
struct fibre_info {
    void* stack;
    void* stackpos;
    void* retaddr;
};
Spuštění korutiny:
Kód: [Vybrat]
__attribute__((naked)) void detach_fibre_asm(struct fibre_info*, void(*)(void*), void* stack, void* arg) {
    asm(
    "push {r4,r5,r6,r7}\n\t"
    "mov r4, r8\n\t"
    "mov r5, r9\n\t"
    "mov r6, r10\n\t"
    "mov r7, r11\n\t"
    "push {r4,r5,r6,r7}\n\t"
    "mov r4, sp\n\t"
    "str r4, [r0, #4]\n\t"
    "mov r4, lr\n\t"
    "str r4, [r0, #8]\n\t"
    "mov sp, r2\n\t"
    "mov r0, r3\n\t"
    "bx r1"
    );
}
Celkem primitivní, prostě se uloží kontext a přepne stav. Aby to jelo na Cortex-M0 (Pico), musí se šaškovat s registry od r8 nahoru, ale to jsou detaily. Scheduler už naštěstí bude v céčku. Použití:
Kód: [Vybrat]
void fibre(pico_channel_t ch) {
  pico_sleep_ms(1000);
  pico_send(ch, pico_create_string("Bonjour, monde!"));
}

void main() {
  auto ch = pico_create_channel();
  pico_detach(&fibre, ch);
  auto str = pico_receive(ch);
  // do something with str
}
Funkce sleep, send a receive přepínají korutiny, tj. neblokují, ale prostě vrátí řízení scheduleru.

1119
Vývoj / Re:CSP v embedded světě
« kdy: 26. 03. 2021, 09:51:27 »
Implementoval jsem na Picu obecné korutiny (fibers), kdyby to někoho zajímalo, můžu ukázat kód (jádro je z nutnosti v asembleru) a vysvětlit. Nad tím už je jednoduché implementovat kanály a podobné zajímavé věci.

1120
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 25. 03. 2021, 22:02:03 »
Zkus mi to vysvětlit.
Psal jsem o Rustu. Žádná implikace tam nebyla, jen zřejmá poznámka, že Rust je sice (v některých očích) dokonalý, ale začátečník těžko přeloží víc než "ahoj, světe", takže si dokonalých enumů moc neužije. Ale budu jen rád, pokud někdo přijde s takovou didaktickou metodou, která si s tím poradí.

1121
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 25. 03. 2021, 19:49:01 »
obrácená implikace :)
Houby implikace, jen jsi to nepochopil.

1122
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 25. 03. 2021, 11:24:54 »
Ten totiž ty jeho bizarní stránky může vzít jako fakt
A jak jinak je brát? Můžeme o tom diskutovat, můžeme o tom vést spory, můžeme s tím i nesouhlasit, ale to je tak všechno, co se proti tomu dá dělat. Rust mnoho z těch vyjmenovaných “problémů” nemá a k čemu to začátečníkovi je?

Radši se věnuj vylepšování toho svého CSP, zatím je ten kód deeply unimpressive.

1124
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 25. 03. 2021, 10:18:32 »
jenom aby nemusel mluvit k hlavnimu tematu
Co je hlavní téma? Že Go je občas divné a mnohdy se víc hodí Rust? V tom není sporu, akorát někdo si to myslí i bez jazykových válek a urážení Pika a spol. :)

1125
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 25. 03. 2021, 00:39:17 »
Takze kdyz to shrneme, veskera ta tragicka anglictina [...] ze mi tam omylem jednou vypadnul clen
To nebylo omylem. A ten chybný holý infinitiv jsi (ne)nápadně přešel. Ale to je fuk, lepší bude věnovat se tomu CSP. Nejlépe po konzultaci s polštářem.

Stran: 1 ... 73 74 [75] 76 77 ... 153