Subversion Repositories FlightCtrl

Rev

Rev 1880 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1880 Rev 1897
Line 1... Line 1...
1
/*#######################################################################################
1
/*#######################################################################################
2
Decodieren eines RC Summen Signals oder Spektrum Empfänger-Satellit
2
Decodieren eines RC Summen Signals oder Spektrum Empfänger-Satellit
3
#######################################################################################*/
3
#######################################################################################*/
Line -... Line 4...
-
 
4
 
-
 
5
 
-
 
6
 
-
 
7
 
-
 
8
 
-
 
9
 
4
 
10
 
5
#include "Spektrum.h"
11
#include "Spektrum.h"
6
#include "main.h"
12
#include "main.h"
Line -... Line 13...
-
 
13
// Achtung: RECEIVER_SPEKTRUM_EXP wird in der Main.h gesetzt
-
 
14
 
-
 
15
#ifndef WITHSPECTRUM                    ///  MartinW 
-
 
16
#warning : "### without SPECTRUM Code ###"
7
// Achtung: RECEIVER_SPEKTRUM_EXP wird in der Main.h gesetzt
17
#endif
Line 8... Line 18...
8
 
18
 
9
unsigned char SpektrumTimer = 0;
19
unsigned char SpektrumTimer = 0;
10
 
20
 
Line 73... Line 83...
73
//############################################################################
83
//############################################################################
74
// USART1 initialisation from killagreg
84
// USART1 initialisation from killagreg
75
void SpektrumUartInit(void)
85
void SpektrumUartInit(void)
76
//############################################################################
86
//############################################################################
77
    {
87
    {
-
 
88
#ifdef WITHSPECTRUM                     ///  MartinW main.h means no memsave
-
 
89
#warning : "### with left over Spectrum code ###"
-
 
90
               
78
        // -- Start of USART1 initialisation for Spekturm seriell-mode
91
        // -- Start of USART1 initialisation for Spekturm seriell-mode
79
        // USART1 Control and Status Register A, B, C and baud rate register
92
        // USART1 Control and Status Register A, B, C and baud rate register
80
        uint8_t sreg = SREG;
93
        uint8_t sreg = SREG;
Line 81... Line 94...
81
       
94
       
Line 126... Line 139...
126
        UCSR1B |= (1 << RXCIE1);
139
        UCSR1B |= (1 << RXCIE1);
127
        // -- End of USART1 initialisation
140
        // -- End of USART1 initialisation
128
        // restore global interrupt flags
141
        // restore global interrupt flags
Line 129... Line 142...
129
   
142
   
-
 
143
        SREG = sreg;
130
        SREG = sreg;
144
#endif
131
  return;
145
  return;
Line 132... Line 146...
132
 }
146
 }
133
 
147
 
Line 208... Line 222...
208
//############################################################################
222
//############################################################################
209
// Wird im UART-Interrupt aufgerufen
223
// Wird im UART-Interrupt aufgerufen
210
//############################################################################
224
//############################################################################
211
void SpektrumParser(unsigned char c)
225
void SpektrumParser(unsigned char c)
212
{
226
{
-
 
227
#ifdef WITHSPECTRUM                     ///  MartinW main.h means no memsave
-
 
228
#warning : "### with left over Spectrum code ###"
-
 
229
       
213
    static unsigned char Sync=0, FrameCnt=0, ByteHigh=0, ReSync=1, Frame2=0;
230
    static unsigned char Sync=0, FrameCnt=0, ByteHigh=0, ReSync=1, Frame2=0;
214
        unsigned int Channel, index = 0;
231
        unsigned int Channel, index = 0;
215
        signed int signal = 0, tmp;
232
        signed int signal = 0, tmp;
216
        int bCheckDelay;
233
        int bCheckDelay;
217
//      c = UDR1; // get data byte
234
//      c = UDR1; // get data byte
Line 402... Line 419...
402
                Frame2 = 0;
419
                Frame2 = 0;
403
                Sync = 0;
420
                Sync = 0;
404
                SpektrumTimer = MIN_FRAMEGAP;
421
                SpektrumTimer = MIN_FRAMEGAP;
405
                }
422
                }
406
   }
423
   }
-
 
424
#endif
407
}
425
}