leOS - un semplice OS per schedulare piccoli task

ratto93:
Leo complimenti, ti stai superando, appena riesco lo provo :slight_smile:

Ma va, dai :sweat_smile: :sweat_smile:

leo72:

Madwriter:
mi sa che usa il timer interno di arduino :grin: carino io quando non ho nulla da fare per lo più progetto,tu sei molto piu creativo XD

Beh, ogni tanto mi passano queste bischerate per la testa XD
Era qualche giorno che ci pensavo. Ieri pomeriggio a casa ho scritto il core centrale, poi a lavoro ieri sera ho fatto un po' di debug e le ultime cose le ho corrette stamattina.

Complimenti, bel lavoro.
Conosco questi "ingrippi" vengono spesso anche a me e finchè non relizzo la cosa che ho in testa non sto in pace con me stesso :grin:

Mi ero dimenticato di dire una cosa, che non suonerà nuova a chi ha già dato un'occhiata al file .cpp.
L'OS dovrebbe girare su tutti i micro attualmente supportabili dall'IDE in maniera più o meno ufficiale, ossia gli Atmega8/88/168/328, i Mega1280/2560 (quindi girare anche sulle Arduino MEGA), i Tiny25/45/85 e 24/44/84, i Tiny2313/4313 ed i Mega644/1284.

Per mancanza di tempo NON ho potuto fare i test su nessun chip diverso dal 328 (ho usato la mia Arduino UNO) per cui se qualcuno ha voglia di provare, mi faccia sapere come va. :wink:
Soprattutto sui Tiny sarebbe interessante sapere l'impatto in termini di prestazioni su micro con clock inferiori ai 16 MHz dell'Arduino.

PS:
vi svelo una cosa.... leOS non sta solo per "little embedded Operating System". Siccome sono molto egocentrico, è anche un gioco di parole sul mio nome "leo" :sweat_smile: :sweat_smile: leoS però si capiva troppo, quindi ho scelto leOS.
Modesto, vero? :stuck_out_tongue:

Utilissimo, sei un grande! Inoltre "leOS" sa molto di: sistema operativo di Leo :smiley:

EDIT: battuto sul tempo :stuck_out_tongue:

leo72:
PS:
vi svelo una cosa.... leOS non sta solo per "little embedded Operating System". Siccome sono molto egocentrico, è anche un gioco di parole sul mio nome "leo" :sweat_smile: :sweat_smile: leoS però si capiva troppo, quindi ho scelto leOS.
Modesto, vero? :stuck_out_tongue:

hahahahah io l'avevo immaginato ]:smiley:

leo72:
PS:
vi svelo una cosa.... leOS non sta solo per "little embedded Operating System". Siccome sono molto egocentrico, è anche un gioco di parole sul mio nome "leo" :sweat_smile: :sweat_smile: leoS però si capiva troppo, quindi ho scelto leOS.
Modesto, vero? :stuck_out_tongue:

Sei proprio un hacker, e lo si vede anche da questo nome originale e ti consiglio di lavoraci ancora un poco.
Dai anche una occhiata a come spostare il puntatore PC, come salvare la situazione nello stack e come fare la cosa
contraria e allora sei ad un passo dal kernel premptive. Io però non saprei dove mettere le mani, se studi e vuoi condividere può essere che impariamo qualcosa tutti quanti sugli RTOS.

Ciao.

Appena provata con il tuo esempio! E' fantastica complimenti!! :slight_smile:

leo72:
Modesto, vero? :stuck_out_tongue:

Guarda che l'avevamo capito tutti il chiaro riferimento al tuo nome e lo sforzo incredibile per trovare un acronimo compatibile :grin:

p.s.
Bel lavoro, complimenti.

astrobeed:

leo72:
Modesto, vero? :stuck_out_tongue:

Guarda che l'avevamo capito tutti il chiaro riferimento al tuo nome e lo sforzo incredibile per trovare un acronimo compatibile :grin:

+1 :smiley:

comunque bravo! bel lavoro:)

Spero di non andare OT ma volevo sapere solo una cosa, nell esempio di test Dell leOS il
Blink dei led è gestito tramite un istruzione del genere:
Led1status = ^1;
Ma come funziona? Non ho trovato nessuna documentazione riguardo il ^ qualcuno potrebbe linkarmi o spiegarmi qualcosa?

Grazie!

Nik_90:
Spero di non andare OT ma volevo sapere solo una cosa, nell esempio di test Dell leOS il
Blink dei led è gestito tramite un istruzione del genere:
Led1status = ^1;
Ma come funziona? Non ho trovato nessuna documentazione riguardo il ^ qualcuno potrebbe linkarmi o spiegarmi qualcosa?

Grazie!

L'operatore ^ corrisponde ad effettuare l'operazione XOR tra i bit, quindi quando la variabile Led1status vale 0 applicando XOR con 1 il valore diventa 1, viceversa XOR di 1 con 1 da come risultato 0

Ciao

--> http://www.cplusplus.com/doc/tutorial/operators/

Ah ecco cos'era.. Ho capito perfetto grazie mille!

MauroTec:
Sei proprio un hacker, e lo si vede anche da questo nome originale e ti consiglio di lavoraci ancora un poco.

Tempo fa hai scritto che un hacker non si definisce tale per cui se se tu che mi chiami hacker allora son convinto di esserlo :wink:

Dai anche una occhiata a come spostare il puntatore PC, come salvare la situazione nello stack e come fare la cosa
contraria e allora sei ad un passo dal kernel premptive.

Arriverei però a tentare di ricreare ciò che già esiste (es.: FemtoOS). Non è nei miei intenti, soprattutto di quelli attuali perché le mie conoscenze non mi permettono di arrivare così in profondità lato programmazione :sweat_smile:

Io però non saprei dove mettere le mani, se studi e vuoi condividere può essere che impariamo qualcosa tutti quanti sugli RTOS.

Ciao.

Ce ne vuole ancora un bel po', ad iniziare da un bel libro :wink:

Nik_90:
Appena provata con il tuo esempio! E' fantastica complimenti!! :slight_smile:

Grazie, molto gentile :wink:

astrobeed:

leo72:
Modesto, vero? :stuck_out_tongue:

Guarda che l'avevamo capito tutti il chiaro riferimento al tuo nome e lo sforzo incredibile per trovare un acronimo compatibile :grin:

:sweat_smile: :sweat_smile:

p.s.
Bel lavoro, complimenti.

Ti ringrazio, i tuoi complimenti sono moooolto ben accetti :wink:
Ho provato a tenere il tutto molto semplice, se noti l'aumento del consumo delle risorse è contenuto.

@legacy:
hai perfettamente ragione, e l'ho anche esplicitamente ammesso:

leo72:
Il mio più che un RTOS è uno schedulatore, se vogliamo proprio dirla tutta perché non ha nessuno strumento degli RTOS per la gestione dei task. A cominciare dal fatto che non è un SO di tipo preemptive per cui se un task si blocca, si blocca tutta la baracca XD

Quindi posso solo dirti grazie per le critiche ma sapevo già che me le sarei attirate addosso perché scrivere RTOS avrebbe fatto venire il mal di pancia a qualcuno. Però ero anche certo che questo titolo avrebbe fatto capire immediatamente di cosa si stava parlando, più di un "un semplice schedulatore": la gente sa cos'è un RTOS meno cos'è uno schedulatore. :wink:

leo72:
PS:
vi svelo una cosa.... leOS non sta solo per "little embedded Operating System". Siccome sono molto egocentrico, è anche un gioco di parole sul mio nome "leo" :sweat_smile: :sweat_smile: leoS però si capiva troppo, quindi ho scelto leOS.
Modesto, vero? :stuck_out_tongue:

dunque, secondo te qualcuno sul Forum si era bevuta la storia del "little embedded Operating System" :stuck_out_tongue_closed_eyes:?
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 :grin: comunque io pensavo "Super", ormai è un titolo che ti spetta a pieno merito XD
Ottimo lavoro, non ti prometto test perché ormai respiro con la cannuccia fuori dal letame :disappointed_relieved:

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

:smiley: Concordo.

L'effetto sorpresa si è rivelato poco efficiente.

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