11,8 → 11,8 |
#include "rc.h" |
#include "main.h" |
|
volatile int PPM_in[11]; |
volatile int PPM_diff[11]; // das diffenzierte Stick-Signal |
volatile int PPM_in[15]; //PPM24-Erweiterung (121007Kr) |
volatile int PPM_diff[15]; // das diffenzierte Stick-Signal //PPM24-Erweiterung (121007Kr) |
volatile unsigned char NewPpmData = 1; |
|
//############################################################################ |
50,14 → 50,14 |
|
//Syncronisationspause? |
// if((signal > (int) Parameter_UserParam2 * 10) && (signal < 8000)) |
if((signal > 1100) && (signal < 8000)) |
if ((signal > 1500) && (signal < 8000)) |
{ |
if(index >= 4) NewPpmData = 0; // Null bedeutet: Neue Daten |
index = 1; |
NewPpmData = 0; // Null bedeutet: Neue Daten |
} |
else |
{ |
if(index < 10) |
if(index < 14) //PPM24-Erweiterung (121007Kr) |
{ |
if((signal > 250) && (signal < 687)) |
{ |
65,9 → 65,16 |
// Stabiles Signal |
if(abs(signal - PPM_in[index]) < 6) { if(SenderOkay < 200) SenderOkay += 10;} |
tmp = (3 * (PPM_in[index]) + signal) / 4; |
// if(tmp > signal+1) tmp--; else |
// if(tmp < signal-1) tmp++; |
PPM_diff[index] = tmp - PPM_in[index]; |
|
//############################################################ |
// Verhindert einen Restwert der RC-Kanäl bei neutralen Knüppelstellungen, führt |
// unter Umständen jedoch zu +/-1 Sprüngen der einzelnen Kanäle. Siehe auch: |
// http://forum.mikrokopter.de/topic-2191.html(121107Kr) |
//if(tmp > signal+1) tmp--; else |
//if(tmp < signal-1) tmp++; |
//############################################################ |
|
PPM_diff[index] = tmp - PPM_in[index]; |
PPM_in[index] = tmp; |
} |
index++; |