/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 |