Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2675 → Rev 2676

/trunk/analog.c
58,7 → 58,9
volatile int HiResNick = 2500, HiResRoll = 2500;
volatile int AdWertNick = 0, AdWertRoll = 0, AdWertGier = 0;
volatile int AdWertAccRoll = 0,AdWertAccNick = 0,AdWertAccHoch = 0;
int LuftdruckTemperaturOffset = 0;
volatile long Luftdruck = 32000;
volatile long LuftdruckKompensiert = 32000;
volatile long SummenHoehe = 0;
volatile long StartLuftdruck;
volatile unsigned int MessLuftdruck = 1023;
130,6 → 132,7
else { if(off < 170) CalAthmospheare += (188 - off) / 15; } // rescaled at 2.09
}
Luftdruck = MessLuftdruck * CalAthmospheare;
LuftdruckKompensiert = Luftdruck + LuftdruckTemperaturOffset;
#endif
Delay_ms_Mess(300);
}
363,7 → 366,8
{
Luftdruck -= Luftdruck / CalAthmospheare; // 16
Luftdruck += tmpLuftdruck;
HoehenWert_Mess = StartLuftdruck - Luftdruck; // cm
LuftdruckKompensiert = Luftdruck + LuftdruckTemperaturOffset;
HoehenWert_Mess = StartLuftdruck - LuftdruckKompensiert; // cm
}
}
else
383,6 → 387,7
else VarioMeter = (31 * VarioMeter + 8 * tmp)/32;
tmpLuftdruck /= 2;
messanzahl_Druck = 16/2;
LuftdruckKompensiert = Luftdruck;
}
}
kanal = AD_NICK;
/trunk/analog.h
14,6 → 14,7
extern volatile int AdWertNickFilter, AdWertRollFilter, AdWertGierFilter;
extern volatile int Aktuell_Nick,Aktuell_Roll,Aktuell_Gier,Aktuell_ax, Aktuell_ay,Aktuell_az;
extern volatile long Luftdruck;
extern volatile long LuftdruckKompensiert;
extern volatile long SummenHoehe;
extern volatile char messanzahl_Druck;
extern volatile unsigned int ZaehlMessungen;
29,6 → 30,7
extern long HoehenWertF;
extern long HoehenWert_Mess;
extern long HoehenWertF_Mess;
extern int LuftdruckTemperaturOffset;
unsigned int ReadADC(unsigned char adc_input);
void ADC_Init(void);
void SucheLuftruckOffset(void);
/trunk/fc.c
529,7 → 529,7
LIBFC_HoTT_Clear();
ACC_AltitudeFusion(2); // initalisation
#endif
StartLuftdruck = Luftdruck;
StartLuftdruck = LuftdruckKompensiert;
VarioMeter = 0;
SummenHoehe = 0; Mess_Integral_Hoch = 0;
DebugOut.Analog[28] = 0; // I2C-Counter
1222,7 → 1222,7
// Einschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(CalibrationDone) FC_StatusFlags |= FC_STATUS_START;
StartLuftdruck = Luftdruck;
StartLuftdruck = LuftdruckKompensiert;
HoehenWert = 0;
HoehenWert_Mess = 0;
GasIsZeroCnt = 600;
/trunk/libfc1284.a
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/main.c
572,6 → 572,7
{
static unsigned char second;
timer += 20; // 20 ms interval
//DebugOut.Analog[] = LuftdruckTemperaturOffset;
CalcNickServoValue();
if(!CalibrationDone) FC_StatusFlags3 |= FC_STATUS3_NOT_CALIBRATED; else FC_StatusFlags3 &= ~FC_STATUS3_NOT_CALIBRATED;
// ++++++++++++++++++++++++++++
726,11 → 727,11
 
if(FC_StatusFlags & FC_STATUS_FLY) FlugSekunden++;
else timer2 = 1450; // 0,5 Minuten aufrunden
if(modell_fliegt < 1024)
if(modell_fliegt < 1024 && !BaroCalState)
{
if(StartLuftdruck < Luftdruck) StartLuftdruck += 5;
if(StartLuftdruck < LuftdruckKompensiert) StartLuftdruck += 5;
else
if(StartLuftdruck > Luftdruck) StartLuftdruck -= 5;
if(StartLuftdruck > LuftdruckKompensiert) StartLuftdruck -= 5;
FC_StatusFlags3 &= ~FC_STATUS3_REDUNDANCE_ERROR;
}
else
773,6 → 774,6
else if(BytegapSPI == 0) SPI_TransmitByte();
}
}
//DebugOut.Analog[]
//DebugOut.Analog[]
 
 
/trunk/spi.c
44,6 → 44,7
unsigned char NC_RequestsConfig = 0;
unsigned char CamCtrlCharacter = ' ';
unsigned char NCParachute = 0;
unsigned char BaroCalState = 0;
 
#ifdef USE_SPI_COMMUNICATION
 
577,6 → 578,8
NaviData_MaxWpListIndex = FromNaviCtrl.Param.Byte[9];
CompassCorrected = FromNaviCtrl.Param.sInt[5]; // Bytes 10 & 11
CamCtrlCharacter = FromNaviCtrl.Param.Byte[12];
BaroCalState = FromNaviCtrl.Param.Byte[13];
LuftdruckTemperaturOffset = FromNaviCtrl.Param.sInt[7]; // Bytes 14 & 15
break;
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
case SPI_NCCMD_HOTT_DATA:
/trunk/spi.h
244,7 → 244,8
extern unsigned char NCForcesNewDirection; // allows Yawing without CareFree (Yawing at Coming Home)
extern unsigned char NC_RequestsConfig;
extern unsigned char CamCtrlCharacter;
unsigned char NCParachute;
extern unsigned char NCParachute;
extern unsigned char BaroCalState;
#else
 
 
/trunk/version.txt
881,6 → 881,9
2.15h (26.09.2016)
- Waypoint Info in Jeti telemetry
 
2.15i (28.09.2016)
- Baro temperature compensation implemented for FC3.0
 
toDo:
- CalAthmospheare nachführen