]> git.piffa.net Git - aerei/commitdiff
Merge branch 'master' of kim.andreamanni.com:/home/git/aerei
authoreaman <eaman@pad.piffa.net>
Tue, 21 Feb 2017 12:50:21 +0000 (13:50 +0100)
committereaman <eaman@pad.piffa.net>
Tue, 21 Feb 2017 12:50:21 +0000 (13:50 +0100)
1  2 
esempi/snippets/lettura_servo_interrupt/lettura_servo_interrupt.ino
esempi/snippets/lettura_servo_interrupt_doppio/lettura_servo_interrupt_doppio.ino

index 2be4d729b27011f649356c492ea73c3ca379c87d,59d2a744b833018dacda1cab0c362dc3719e0649..6f795bd36c1cfdebf0bb2dc9f4c9edcf6e131ea5
@@@ -18,13 -18,16 +18,16 @@@ const byte chPin = 2; // PIN per la cal
  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
@@@ -35,7 -38,7 +38,7 @@@
  #endif
  }
  
 -// Functions
 +// ISR:
  void chRise() {
      attachInterrupt(0, chFall, FALLING);
      chStart = micros();
index 7626b7058c310cf63453f8fb9e401a8fc51aabad,2cf33a844812dab0c82720b06834e775d4c7fdc2..1c966f79a6c6a4d52e6e8baca93fa27980ac3ebe
@@@ -28,12 -28,16 +28,16 @@@ int mid_point3 = 1500
  
  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
  } ;
  
@@@ -53,7 -57,7 +57,7 @@@ void loop() 
  #endif
  }
  
 -// Functions
 +// ISRs:
  void chRise2() {
      attachInterrupt(0, chFall2, FALLING);
      chStart2 = micros();
@@@ -63,7 -67,7 +67,7 @@@ void chFall2() 
      attachInterrupt(0, chRise2, RISING);
      chValue2 = micros() - chStart2;
  }
 -// Seconod iterrupt
 +// Secondo iterrupt
  void chRise3() {
      attachInterrupt(1, chFall3, FALLING);
      chStart3 = micros();