int mid_point = 1500;
void setup() {
- // Funzione relativa a calibrazione con pulsein:
- // mid_point = calibraTrim(chPin) ; // Calibrazione del TRIM attivo sul canale
- attachInterrupt(0, chRise, RISING); // PIN 2 su 328p / 168
+ // Funzione relativa a calibrazione con pulsein:
+ mid_point = calibraTrim(chPin) + 8; // Calibrazione del TRIM con pulseIn:
+ // se si usa poi un interrupt si aggiunge ~10
+
+ attachInterrupt(0, chRise, RISING); // PIN 2 su 328p / 168
+
#ifdef DEBUG
Serial.begin(9600); // Warning: interrupts e serial potrebbero dare problemi
- } ;
#endif
+ } ;
void loop() {
#ifdef DEBUG
#endif
}
-// Functions
+// ISR:
void chRise() {
attachInterrupt(0, chFall, FALLING);
chStart = micros();
void setup() {
// Funzione relativa a calibrazione con pulsein:
- mid_point2 = calibraTrim(chPin2) ; // Calibrazione del TRIM attivo sul canale
- mid_point3 = calibraTrim(chPin3) ; // Calibrazione del TRIM attivo sul canale
+ mid_point2 = calibraTrim(chPin2) + 8 ; // Calibrazione del TRIM attivo sul canale
+ mid_point3 = calibraTrim(chPin3) + 8; // La calibrazione in genere non serve
+ // su throttle, il valore minimo e' costante e non c'e' TRIM
+
attachInterrupt(0, chRise2, RISING); // PIN 2 su 328p / 168
attachInterrupt(1, chRise3, RISING); // PIN 3 su 328p / 168
+
#ifdef DEBUG
Serial.begin(9600);
+ Serial.flush();
#endif
} ;
#endif
}
-// Functions
+// ISRs:
void chRise2() {
attachInterrupt(0, chFall2, FALLING);
chStart2 = micros();
attachInterrupt(0, chRise2, RISING);
chValue2 = micros() - chStart2;
}
-// Seconod iterrupt
+// Secondo iterrupt
void chRise3() {
attachInterrupt(1, chFall3, FALLING);
chStart3 = micros();