Go Down

Topic: leOS - un semplice OS per schedulare piccoli task (Read 42 times) previous topic - next topic

Bisbulle

Quote
dunque, secondo te qualcuno sul Forum si era bevuta la storia del "little embedded Operating System" smiley-yell?
Il significato di leO era chiarissimo, i dubbi erano solo su cosa stesse a fare lì una S, sperando tutti che non fosse l'iniziale di un aggettivo/sostantivo arcinoto smiley-mr-green comunque io pensavo "Super", ormai è un titolo che ti spetta a pieno merito smiley-lol
Ottimo lavoro, non ti prometto test perché ormai respiro con la cannuccia fuori dal letame smiley-sad-blue


:D Concordo.

L'effetto sorpresa si è rivelato poco efficiente.

@Leo: ripeto bel lavoro (e grazie per la risposta!) :D

leo72

Nuova versione 0.0.3. Questa versione introduce la gestione dei task aggiunti allo scheduler. Nello specifico ho introdotto 3 nuovi metodi:

removeTask(nomeFunzione)
pauseTask(nomeFunzione)
restartTask(nomeFunzione)

I metodi hanno nomi autoesplicativi ma riassumo brevemente. removeTask serve a rimuovere permanentemente un task dallo scheduler. pauseTask serve a mettere in pausa un task, mentre restartTask serve a farlo ripartire.

L'utente è tenuto a scrivere il suo codice affinché lo stato del task al momento della messa in pausa, della ripartenza o della sua rimozione sia coerente e/o compatibile con il resto del codice e con il circuito collegato. Mi spiego: se al posto di un led, si pilota ad esempio un transistor che alimenta un altro dispositivo bisogna prevedere il fatto che se il pin resta alto ed il transistor in conduzione, che tale stato sia compatibile con il circuito ed il restante codice. Ma mi sembra logico.

Al momento non mi vengono in mente altre operazioni per questo semplice RTOS. Se avete idee o suggerimenti e se qualcuno riesce a provarlo anche sugli altri micro, ben vengano le sue segnalazioni  ;)

m_ri

#32
Jun 27, 2012, 12:26 am Last Edit: Jun 27, 2012, 12:42 am by m_ri Reason: 1
mhh,forse metti un tipo di ritorno alle tue funzioni,tipo char o bool..almeno sai se ha avuto successo :)


leo72

Sì, ci avevo già pensato, lo farò nella prox 0.0.4  ;)

m_ri

#34
Jun 27, 2012, 12:43 am Last Edit: Jun 27, 2012, 12:46 am by m_ri Reason: 1
inoltre vedo che tra le istruzioni atomiche di arduino c'è lo swap di nibble..quindi volendo potresti implementare un"semaforo non bloccante" o con un certo accrochio renderlo bloccante senza scrasare lo stack..
lo so che forse esagero,ma qlkn vuole passare da iOS a leOS,quindi..   :P

Go Up