Bibliothèque de Chronomètres et Minuteries simples

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)

Bonsoir,
Sympa comme programme. Bravo
@+

Sympa mais il y en a plusieurs qui existent déjà :wink:

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 :wink:
  • 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 :wink:
(syntaxe valable uniquement dans le constructeur)

  • Les fonctions qui retournent une valeur sans rien modifier -> "const" dans le prototype :wink:
  • 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.