Pages: 1 ... 9 10 [11] 12 13 ... 31   Go Down
Author Topic: leOS - un semplice OS per schedulare piccoli task  (Read 37424 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vogliamo una recensione sulla leonardo  smiley-mr-green
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 329
Posts: 22782
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vogliamo una recensione sulla leonardo  smiley-mr-green
Sarà fatto  smiley-lol
Logged


0
Offline Offline
Faraday Member
**
Karma: 31
Posts: 2908
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

la new funziona dall'ide 1.0

ma usando una dichiarazione di CLASSE statica dovresti risolvere tutto senza uso di puntatori..
quindi

static class leOS { [...] }

ciò costrige a rendere un pò tutto static, ma non è un problema.

Io credo che quello che hai scritto è più di java che di C++, non mi pare di ricordare che si può dichiarare la il costruttore static e neanche la classe, proprio per questo è nato il singleton pattern.

Confermo che la dimensione del .hex non cambia tra l'uso di #if o if, il compilatore si accorege che una condizione if può avere solo un risultato e questo è conosciuto a tempo di compilazione.

@maurotec: comunque fai bene a ricordare che a volte bisogna ottimizzare..purtroppo il compilatore non è pensante,quindi..

ora che ci penso,il fatto di usare static è un'ulteriore ottimizzazione( evita ogni volta di passare il parametro implicito this)..

Più che altro è un'accorgimento implementativo, si tratta dell'applicazione di un pattern usato spesso lato pc, per evitare di creare più instanze di una classe. Su embedded con limitate risorse si potrebbe preferire la riduzione hex a qualunque costo, pure a costo della implementazione.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Italy
Offline Offline
Full Member
***
Karma: 6
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora.... sono qualche ora di inc....ture, sono riuscito a sistemare il supporto per l'Arduino Leonardo/Atmega32U4.
In allegato la versione 0.1.0 che compila e gira perfettamente con questa scheda e sul suo micro. Attenzione che qui si usa il timer 1.

E ora... buonanotte!  smiley-sleep smiley-sleep

Ciao Leo, ho appena fatto girare tutti gli esempi, e anche se non necessario, confermo il perfetto funzionamento...tcù test is megli che uan  smiley-lol
Ho anche letto il codice, ma
Quote
Attenzione che qui si usa il timer 1.
non stai ancora usando il timer 3?
N.
Logged

"The question is not whether intelligent machines can have emotions, but whether machines can be intelligent without any emotions"

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10468
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hai ragione, non esistono le clssi static in c++.. devo approfondire ma si usa il namespace

http://stackoverflow.com/questions/9321/how-do-you-create-a-static-class-in-c (guarda la seconda risposta)
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 329
Posts: 22782
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho anche letto il codice, ma
Quote
Attenzione che qui si usa il timer 1.
non stai ancora usando il timer 3?
N.
No, ho spostato tutto sull'1. Tanto uno dei due timer vale l'altro, sono entrambi a 16 bit.
Logged


Italy
Offline Offline
Full Member
***
Karma: 6
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Leo
Questo è quello che leggo dal'ultimo codice postato (0.1.0)
Code:
[...]

#elif defined (ATMEGAxU)
ISR (TIMER3_OVF_vect) {
    TCNT3 = _starter;
#endif

[...]

#elif defined (ATMEGAxU)
    //during setup, disable all the interrupts based on timer3
    TIMSK3 &= ~((1<<TOIE3) | (1<<OCIE3A) | (1<<OCIE3B) | (1<<OCIE3C) | (1<<ICIE3));
    //normal mode: counter incremented until overflow, prescaler set to /1
    TCCR3A &= ~((1<<WGM31) | (1<<WGM30));
    TCCR3B &= ~((1<<WGM33) | (1<<WGM32) | (1<<CS32) | (1<<CS31));
    TCCR3B |= (1<<CS30);
    //TCCR3B = 1;
    prescaler = 1.0;
#endif

[...]

#elif defined (ATMEGAxU)
    TCNT3 = _starter;
TIMSK3 |= (1<<TOIE3);
#endif

prendo un abbaglio? Poi altra domandina c'era una errore nella dichiarazione di starter a 8 bit invece che 16? Scusa, non sono pedante, sto solo studiando il tuo codice per crescere un po su questo lato della programmazione...trovo il tuo codice affascinante  smiley-lol
N.
Logged

"The question is not whether intelligent machines can have emotions, but whether machines can be intelligent without any emotions"

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 329
Posts: 22782
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Leo
Questo è quello che leggo dal'ultimo codice postato (0.1.0)
Code:
[...]

#elif defined (ATMEGAxU)
ISR (TIMER3_OVF_vect) {
    TCNT3 = _starter;
#endif

prendo un abbaglio?
[/quote]
No, hai ragione. L'ho rimesso sul timer 3. Devi scusarmi, erano l'1:00 di notte, avevo litigato 2 ore per far andare quel cavolo di timer, e mi ero messo a fare delle prove anche con un codice per Atmega328 che usava il timer 1 e che funzionava perfettamente anche sul 32U4 senza modifiche... alla fine avevo deciso di lasciare tutto sul timer 1, poi invece ho rimesso ogni cosa sul 3  :smiley-sweat: :smiley-sweat:

[quote]
 Poi altra domandina c'era una errore nella dichiarazione di starter a 8 bit invece che 16?
[/quote]
Sì, era uno dei problemini che avevo trovato riguardo all'inizializzazione del timer. Mi ero dimenticato di impostare _starter a 16 bit quando si usa il 32U4.

[quote]
 Scusa, non sono pedante, sto solo studiando il tuo codice per crescere un po su questo lato della programmazione...trovo il tuo codice affascinante  XD
N.
[/quote]
No, no. Non rompi, fai bene a far le domande: vedi che poi mi intreccio anch'io?  XD
Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

PS.
devo ricordarmi di scrivere a Massimo per richiedere i diritti sul nome  smiley-yell smiley-yell smiley-money smiley-money

Secondo me sei tu che dovresti pagare i diritti agli eredi di Da Vinci.  smiley-mr-green smiley-mr-green smiley-mr-green
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 329
Posts: 22782
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io potrei essere un erede di Leonardo, visto che sono Toscano come lui, senza neanche saperlo. Beh, i geni ci sono, questo è certo  smiley-yell
Logged


provincia di Forlì
Offline Offline
Full Member
***
Karma: 0
Posts: 119
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Davvero una figata, non vedo l'ora di provarlo! stra complimenti..
Logged

Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io potrei essere un erede di Leonardo, visto che sono Toscano come lui, senza neanche saperlo. Beh, i geni ci sono, questo è certo  smiley-yell
Toscano? quest'estate passo per l'isola d'elba siamo vicini  smiley-mr-green
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 329
Posts: 22782
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@madwriter:
Ma non hai scritto in un altro post che stai nei pressi di Napoli?

@Fede:
grazie dei complimenti, spero che ti possa essere d'aiuto, non fosse altro per un blink in background che così togli dal loop principale  smiley-razz
Logged


Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@madwriter:
Ma non hai scritto in un altro post che stai nei pressi di Napoli?
sisi vado li per l'estate ho dei parenti li smiley-grin

PS stai diventando famoso 1500+ view al post!
« Last Edit: July 13, 2012, 03:48:30 am by Madwriter » Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 329
Posts: 22782
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@madwriter:
Ma non hai scritto in un altro post che stai nei pressi di Napoli?
sisi vado li per l'estate ho dei parenti li smiley-grin

PS stai diventando famoso 1500+ view al post!
Sono contento non tanto per le visite quanto per il fatto che magari possa aver scritto qualcosa che è stata utile a qualcuno. Ecco, questo mi dà più gioia delle 1500 visualizzazioni  smiley-wink
Logged


Pages: 1 ... 9 10 [11] 12 13 ... 31   Go Up
Jump to: