bkd974
February 15, 2014, 9:24pm
1
Salut à tous,
Je vous livre ici WAKEUP ma première library perso. Une simple petite classe bien pratique pour gérer des chronomètres et minuteries. (zip ci-joint ou bien sur https://github.com/brunocadet/WAKEUP )
Un exemple de compteur simple : Faire clignoter une LED
WAKEUP myLed;
void loop(){
if ( myLed.istime(500) ) digitalWrite( 13, !digitalRead(13) );
}
Un exemple de minuterie simple :
WAKEUP myTimer(30000);
void loop(){
if ( digitalRead(bouton) ) myTimer.go();
if ( myTimer.istime() ) Serial.print("DEBOUT LADANS!");
}
WAKEUP.zip (5.78 KB)
icare
February 15, 2014, 11:53pm
2
Bonsoir,
Sympa comme programme. Bravo
@+
B_tto
February 16, 2014, 10:42am
3
Sympa mais il y en a plusieurs qui existent déjà
Bonjour,
Pas mal pour une première librairie.
Il y a un keywords.txt, c'est déjà un bon point.
Il y a un readme, c'est un très bon point (même si il serait encore mieux rédigé en syntaxe markdown).
Par contre ...
Pas de nom d'argument dans les prototypes du .h !? C'est vraiment pas facile de savoir quoi passer en argument sans !
Pas de documentation Doxygen embarquée du coup, c'est assez embêtant.
Le test pour la compatibilité Arduino <=0023 et >=1.0 sur le #include sera un plus
Conseil de dév :
WAKEUP::WAKEUP(unsigned long tmp){
life = tmp;
isatimer = true;
running = false;
}
->
WAKEUP::WAKEUP(unsigned long tmp) :
life(tmp), isatimer(true), running(false) {
}
Le compilateur te diras merci et optimisera un peu plus
(syntaxe valable uniquement dans le constructeur)
Les fonctions qui retournent une valeur sans rien modifier -> "const" dans le prototype
Perso je renommerai certaines fonctions, comme "time" en "getTime". Les getters/setters c'est une convention.
Sinon bravo, pour une première librairie c'est vraiment un bon début.