From 57578be28668746cf63ad700cd8fc58543b88cd7 Mon Sep 17 00:00:00 2001 From: Grouch Date: Mon, 8 May 2017 13:05:15 +0200 Subject: [PATCH] Corrections mineures --- stroboduino.ino | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/stroboduino.ino b/stroboduino.ino index 22ffbd3..ee62140 100755 --- a/stroboduino.ino +++ b/stroboduino.ino @@ -9,6 +9,8 @@ char Ver[] = "cg230417"; #include // LCD #include // Calcul de moy. glissante pour lisser le compte-tour +bool debug = 0; // true si debug + //------------------------------------------------------------------------------ // PARAMETRES (stockés dans l'EEPROM) //------------------------------------------------------------------------------ @@ -33,17 +35,15 @@ const int deg_Initial = 10; // Affiché au demarrage // VARIABLES //------------------------------------------------------------------------------- -bool debug = 0; // true si debug - -int signed long T = 0; // Periode en cours(signée pour le calcul de D_deg) -int unsigned long prec_H = 0; // Heure du front precedent en µs -volatile int signed deg_dem = deg_Initial; // Compteur des degrés demandés -int signed long D_deg = 0; // Délai pour deg_dem degrès en µs -int unsigned long N = 0; // N en tours/mn -int unsigned long Nc = 0; // Pour le calcul de N -unsigned long pm = 0; // Previous millis pour Refresh LCD -byte modconfig = 0; // Flag pour savoir si on est en mode config -int degT = 720 / Ncyl; // Degrés entre 2 étincelles +volatile long T = 0; // Periode en cours(signée pour le calcul de D_deg) + unsigned long prec_H = 0; // Heure du front precedent en µs +volatile int deg_dem = deg_Initial; // Compteur des degrés demandés +volatile long D_deg = 0; // Délai pour deg_dem degrès en µs + unsigned long N = 0; // N en tours/mn + unsigned long Nc = 0; // Pour le calcul de N + unsigned long pm = 0; // Previous millis pour Refresh LCD + byte modconfig = 0; // Flag pour savoir si on est en mode config + int degT = 720 / Ncyl; // Degrés entre 2 étincelles LiquidCrystal lcd( 9, 17, 15, 16, 14, 10); //lcd(RS, E, D4, D5, D6, D7) @@ -65,7 +65,7 @@ void isrFlash(){ //Flash et flash sur LED13 digitalWrite (Flash, 1); delayMicroseconds(D_Flash); digitalWrite (Flash, 0); - digitalWrite (LED_BUILTIN, 1); delayMicroseconds(20 * D_Flash); digitalWrite (LED_BUILTIN, 0); + digitalWrite (LED_BUILTIN, 1); delayMicroseconds(10 * D_Flash); digitalWrite (LED_BUILTIN, 0); //Délai en µs pour les degrés demandés, periode suivante D_deg = float(T * deg_dem) / float(degT); @@ -132,6 +132,7 @@ void Regl(bool &var, String titre){ // Macro de réglage pour param type bool } void ConfiG() { + modconfig=0; lcd.clear(); lcd.print("CONFIG"); lcd.setCursor(7, 1); @@ -180,17 +181,12 @@ void IniT() { // Test Flash digitalWrite (Flash, 1); delayMicroseconds(D_Flash); digitalWrite (Flash, 0); - // Affichage version - lcd.clear(); - lcd.print("Version"); - lcd.setCursor(0, 1); lcd.print(Ver); // N° de version + lcd.clear(); lcd.print("Version"); // Affichage version + lcd.setCursor(0, 1); lcd.print(Ver); // N° de version delay(1000); if (digitalRead(Inter) == 0) {modconfig++;} // si bouton toujours appuyé - if (modconfig >= 2){ // on entre dans le mode config - modconfig=0; - ConfiG(); - } + if (modconfig >= 2) {ConfiG();} // on entre dans le mode config Enco.write(deg_Initial*4); degT = 720 / Ncyl;