Fonctionne 1 Flash / 2 tours. Test oscillo OK
This commit is contained in:
parent
71bec01111
commit
5b96debaa9
|
@ -48,7 +48,7 @@ volatile long D = 0L;
|
|||
unsigned long pm = 0L; // 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 bool moteur_tourne = false;
|
||||
volatile bool flag = false;
|
||||
|
||||
LiquidCrystal lcd( 9, 17, 15, 16, 14, 10);
|
||||
//lcd(RS, E, D4, D5, D6, D7)
|
||||
|
@ -60,34 +60,33 @@ volatile RunningAverage moyT(lissrpm);
|
|||
//--------------------------------------------------------------------------------
|
||||
|
||||
void isrEtincelle() {
|
||||
if (!moteur_tourne){
|
||||
Timer1.initialize(D);
|
||||
moteur_tourne=true;}
|
||||
T = micros() - prec_H; // Calcul de T
|
||||
prec_H = micros();
|
||||
|
||||
if (T < T_MINI) {T = moyT.getAverage();} // Sécurité valeur aberrante
|
||||
|
||||
D_deg = (moyT.getAverage() * (long)deg_dem) / (long)degT;
|
||||
|
||||
D = D_deg - 200L;
|
||||
if (D<=80){D+=T;}
|
||||
// D+=T*2;
|
||||
if(flag){
|
||||
Timer1.stop();
|
||||
|
||||
if (T < T_MINI) {T = moyT.getAverage();} // Sécurité valeur aberrante
|
||||
|
||||
D_deg = (T * (long)deg_dem) / (long)degT;
|
||||
|
||||
// On ajoute la valeur de T au calcul de moy. glissante
|
||||
moyT.addValue(T);
|
||||
D = D_deg - 190L;
|
||||
D+=T;
|
||||
Timer1.initialize(D);
|
||||
|
||||
// On ajoute la valeur de T au calcul de moy. glissante
|
||||
moyT.addValue(T);
|
||||
}
|
||||
flag =! flag;
|
||||
}
|
||||
|
||||
void isrFlash(){
|
||||
Timer1.stop();
|
||||
|
||||
digitalWrite (Flash, 1); delayMicroseconds(D_Flash); digitalWrite (Flash, 0);
|
||||
digitalWrite (LED_BUILTIN, 1); delayMicroseconds(5 * D_Flash); digitalWrite (LED_BUILTIN, 0);
|
||||
//digitalWrite (LED_BUILTIN, 1); delayMicroseconds(5 * D_Flash); digitalWrite (LED_BUILTIN, 0);
|
||||
|
||||
moteur_tourne=false;
|
||||
|
||||
F = micros() - prec_F;
|
||||
prec_F = micros();
|
||||
//F = micros() - prec_F;
|
||||
//prec_F = micros();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
|
@ -174,7 +173,6 @@ void IniT() {
|
|||
|
||||
// Timer entre Etincelle et Flash
|
||||
Timer1.attachInterrupt(isrFlash);
|
||||
//Timer1.initialize(1);
|
||||
//Timer1.stop();
|
||||
|
||||
modconfig=0;
|
||||
|
@ -208,8 +206,6 @@ void IniT() {
|
|||
Affich_fond_ecran();
|
||||
Affic_N_et_deg_dem();
|
||||
|
||||
moteur_tourne = false;
|
||||
|
||||
if (debug) {
|
||||
Serial.print("degT : "); Serial.println(degT);
|
||||
Serial.print(" Nc : "); Serial.println(Nc);
|
||||
|
|
Loading…
Reference in New Issue