Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1482 → Rev 1483

/beta/Code Redesign killagreg/eeprom.h
69,11 → 69,14
#define CFG2_RES4 0x40
#define CFG2_RES5 0x80
 
#define RECEIVER_PPM 0
#define RECEIVER_SPEKTRUM 1
#define RECEIVER_JETI 2
#define RECEIVER_ACT_DSL 3
#define RECEIVER_ACT_S3D 4
// defines for the receiver selection
#define RECEIVER_PPM 0
#define RECEIVER_SPEKTRUM 1
#define RECEIVER_SPEKTRUM_HI_RES 2
#define RECEIVER_SPEKTRUM_LOW_RES 3
#define RECEIVER_JETI 4
#define RECEIVER_ACT_DSL 5
#define RECEIVER_UNKNOWN 0xFF
 
// defines for lookup ParamSet.ChannelAssignment
#define CH_NICK 0
/beta/Code Redesign killagreg/libfc.a
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/beta/Code Redesign killagreg/makefile
5,7 → 5,7
#-------------------------------------------------------------------
VERSION_MAJOR = 0
VERSION_MINOR = 77
VERSION_PATCH = 0
VERSION_PATCH = 2
 
VERSION_SERIAL_MAJOR = 11 # Serial Protocol Major Version
VERSION_SERIAL_MINOR = 0 # Serial Protocol Minor Version
/beta/Code Redesign killagreg/spektrum.c
3,6 → 3,7
#include <avr/interrupt.h>
#include "spektrum.h"
#include "rc.h"
#include "eeprom.h"
#include "timer0.h"
 
/*
144,11 → 145,13
#define MIN_FRAMEGAP 68 // 7ms
#define MAX_BYTEGAP 3 // 375us
 
 
// called in uart isr
void Spektrum_Parser(uint8_t c)
{
static uint8_t Sync = 0, FrameCnt = 0, ByteHigh = 0, ReSync = 1, Frame2 = 0;
uint16_t Channel, index;
int16_t signal, tmp;
uint16_t Channel, index = 0;
int16_t signal = 0, tmp;
int16_t bCheckDelay;
 
 
218,15 → 221,41
SpektrumTimer = MAX_BYTEGAP;
Sync = 2;
FrameCnt ++;
index = (ByteHigh >> 2) & 0x0f;
index ++;
Channel = ((uint16_t)ByteHigh << 8) | c;
signal = Channel & 0x3ff;
signal -= 0x200; // Offset, range 0x000..0x3ff?
signal = signal/3; // scaling to fit PPM resolution
 
if(index > 0 && index < MAX_RC_CHANNELS)
switch(ParamSet.Receiver)
{
case RECEIVER_SPEKTRUM:
signal = Channel & 0x3FF;
signal -= 0x200; // Offset, range 0x000..0x3FF?
signal = signal/3; // scaling to fit PPM resolution
index = (ByteHigh >> 2) & 0x0F;
break;
 
case RECEIVER_SPEKTRUM_HI_RES:
signal = Channel & 0x7FF;
signal -= 0x400; // Offset, range 0x000..0x7FF?
signal = signal/6; // scaling to fit PPM resolution
index = (ByteHigh >> 3) & 0x0F;
break;
 
case RECEIVER_SPEKTRUM_LOW_RES:
signal = Channel & 0x3FF;
signal -= 360; // Offset, range 0x000..0x3FF?
signal = signal/2; // scaling to fit PPM resolution
index = (ByteHigh >> 2) & 0x0f;
break;
 
default:
index = 0;
signal = 0;
break;
}
 
index ++;
 
if(index < MAX_RC_CHANNELS)
{
if(RC_Channels < index) RC_Channels = index;
// Stabiles Signal
if(abs(signal - PPM_in[index]) < 6)
/beta/Code Redesign killagreg/version.txt
356,10 → 356,14
- JetiBox: Menü wird übertragen
- neu: FCFlags |= FCFLAG_I2CERR;
- LED-Warn-Blinken nun mit festem Timing und abschaltbar
0.77c H.Buss 07.01.2010
- zwei weitere Spektrum-Varianten implementiert
 
Anpassungen bzgl. V0.77a
G.Stobrawa 13.12.2009:
 
Anpassungen bzgl. V0.77c
G.Stobrawa 8.1.2010:
 
- Code stärker modularisiert und restrukturiert
- viele Kommentare zur Erklärug eingefügt
- konsequent englische Variablennamen