Subversion Repositories FlightCtrl

Rev

Rev 1914 | Rev 2008 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1914 Rev 1933
Line 15... Line 15...
15
 
15
 
16
volatile int PPM_in[26];
16
volatile int PPM_in[26];
17
volatile int PPM_diff[26];  // das diffenzierte Stick-Signal
17
volatile int PPM_diff[26];  // das diffenzierte Stick-Signal
18
volatile char Channels,tmpChannels = 0;
18
volatile char Channels,tmpChannels = 0;
-
 
19
volatile unsigned char NewPpmData = 1;
Line 19... Line 20...
19
volatile unsigned char NewPpmData = 1;
20
unsigned int PPM_Neutral = 466;
20
 
21
 
21
//############################################################################
22
//############################################################################
22
//zum decodieren des PPM-Signals wird Timer1 mit seiner Input
23
//zum decodieren des PPM-Signals wird Timer1 mit seiner Input
Line 61... Line 62...
61
        {
62
        {
62
        if(index < 13)
63
        if(index < 13)
63
            {
64
            {
64
            if((signal > 250) && (signal < 687))
65
            if((signal > 250) && (signal < 687))
65
                {
66
                {
66
                signal -= 466;
67
                signal -= PPM_Neutral;
67
                // Stabiles Signal
68
                // Stabiles Signal
68
                if(abs(signal - PPM_in[index]) < 6) { if(SenderOkay < 200) SenderOkay += 10; else SenderOkay = 200;}
69
                if(abs(signal - PPM_in[index]) < 6) { if(SenderOkay < 200) SenderOkay += 10; else SenderOkay = 200;}
69
                tmp = (3 * (PPM_in[index]) + signal) / 4;
70
                tmp = (3 * (PPM_in[index]) + signal) / 4;
70
                if(tmp > signal+1) tmp--; else
71
                if(tmp > signal+1) tmp--; else
71
                if(tmp < signal-1) tmp++;
72
                if(tmp < signal-1) tmp++;
Line 128... Line 129...
128
        {
129
        {
129
        if(index < 13)
130
        if(index < 13)
130
            {
131
            {
131
            if((signal > 250) && (signal < 687))
132
            if((signal > 250) && (signal < 687))
132
                {
133
                {
133
                signal -= 466;
134
                signal -= PPM_Neutral;
134
                // Stabiles Signal
135
                // Stabiles Signal
135
                if((abs(signal - ppm_in[index]) < 6))
136
                if((abs(signal - ppm_in[index]) < 6))
136
                                 {
137
                                 {
137
                                  if(okay_cnt > 25)  SenderOkay += 10;
138
                                  if(okay_cnt > 25)  SenderOkay += 10;
138
                                  else
139
                                  else