Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2517 → Rev 2518

/trunk/fc.c
454,6 → 454,7
DebugOut.Analog[28] = 0; // I2C-Counter
CalcExpandBaroStep();
if(FC_StatusFlags3 & FC_STATUS3_BOAT && !EE_Parameter.Driftkomp) EE_Parameter.Driftkomp = 4;
ShutterCounter = 0;
/*
//+++++++++++++++++++++++++++++++++++++++++++
//For testing the expandBaro at 30m
/trunk/led.c
6,6 → 6,7
unsigned char J16Blinkcount = 0, J16Mask = 1;
unsigned char J17Blinkcount = 0, J17Mask = 1;
unsigned char NC_Wait_for_LED = 0; // signal to NC: Wait for the LAD PAtter before switching to the next WP
unsigned int ShutterCounter = 0;
 
// initializes the LED control outputs J16, J17
void LED_Init(void)
21,7 → 22,7
// called in UpdateMotors() every 2ms
void LED_Update(void)
{
static char delay = 0;
static char delay = 0, last_portC = 0;
static unsigned char J16Bitmask = 0;
static unsigned char J17Bitmask = 0;
static unsigned char J16Warn = 0, J17Warn = 0;
125,8 → 126,14
if(J17Mask & EE_Parameter.WARN_J17_Bitmask) J17_ON; else J17_OFF;
}
 
if(PORTC & (1<<PORTC2)) FC_StatusFlags2 |= FC_STATUS2_OUT1_ACTIVE; //else FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE; // Out1 (J16) -> wird in der SPI zurück gesetzt
 
if(PORTC & (1<<PORTC2)) // output is on
{
if(!(last_portC & (1<<PORTC2))) ShutterCounter++; // count if output swiched to high
FC_StatusFlags2 |= FC_STATUS2_OUT1_ACTIVE; //else FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE; // Out1 (J16) -> wird in der SPI zurück gesetzt
}
if(PORTC & (1<<PORTC3)) FC_StatusFlags2 |= FC_STATUS2_OUT2_ACTIVE; else FC_StatusFlags2 &= ~FC_STATUS2_OUT2_ACTIVE; // Out2 (J17)
last_portC = PORTC;
}
}
 
/trunk/led.h
10,4 → 10,4
extern void LED_Init(void);
extern void LED_Update(void);
extern unsigned char NC_Wait_for_LED;
 
extern unsigned int ShutterCounter;
/trunk/libfc1284.a
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/spi.c
173,11 → 173,10
ToNaviCtrl.Param.Byte[6] = Parameter_UserParam7;
ToNaviCtrl.Param.Byte[7] = Parameter_UserParam8;
ToNaviCtrl.Param.Byte[8] = FC_StatusFlags;
ToNaviCtrl.Param.Byte[9] = FC_StatusFlags2;
//if(FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) ToNaviCtrl.Param.Byte[8] &= ~FC_STATUS_FLY;
FC_StatusFlags &= ~(FC_STATUS_CALIBRATE | FC_STATUS_START);
ToNaviCtrl.Param.Byte[9] = ActiveParamSet;
ToNaviCtrl.Param.Byte[10] = (unsigned char) UBat; // 0.1V
ToNaviCtrl.Param.Byte[11] = FC_StatusFlags2;
ToNaviCtrl.Param.Int[5] = UBat; // 10 & 11
if(!(PORTC & (1<<PORTC2))) FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE; // Out1 (J16)
break;
case SPI_FCCMD_BL_ACCU:
210,7 → 209,7
ToNaviCtrl.Param.Byte[6] = EE_Parameter.ComingHomeAltitude;
ToNaviCtrl.Param.Byte[7] = EE_Parameter.AutoPhotoAtitudes;
ToNaviCtrl.Param.Byte[8] = VersionInfo.BL_Firmware;
ToNaviCtrl.Param.Byte[9] = 0;
ToNaviCtrl.Param.Byte[9] = ActiveParamSet;
ToNaviCtrl.Param.Int[5] = FlugMinutenGesamt; // 10 & 11
slow_command++;
break;
250,9 → 249,8
ToNaviCtrl.Param.Byte[2] = EE_Parameter.NaviDescendRange; // in 10m
ToNaviCtrl.Param.Byte[3] = Parameter_MaximumAltitude;
ToNaviCtrl.Param.Byte[4] = EE_Parameter.ServoCompInvert;
ToNaviCtrl.Param.Byte[5] = 0;
ToNaviCtrl.Param.Byte[6] = 0;
ToNaviCtrl.Param.Byte[7] = 0;
ToNaviCtrl.Param.Byte[5] = LipoCells;
ToNaviCtrl.Param.Int[3] = ShutterCounter; // 6 & 7
ToNaviCtrl.Param.Byte[8] = 0;
ToNaviCtrl.Param.Byte[9] = 0;
ToNaviCtrl.Param.Byte[10] = 0;
/trunk/uart.c
147,6 → 147,16
"GPS_Roll "
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ Calculate checksum
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
unsigned char CalculateDebugLableCrc(void)
{
unsigned int i;
unsigned char crc = 0;
for(i=0;i<sizeof(ANALOG_TEXT);i++) crc += pgm_read_word(&ANALOG_TEXT[0][i]);
return(crc);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ Sende-Part der Datenübertragung
167,7 → 177,7
}
UDR0 = tmp_tx;
}
else ptr = 0;
else ptr = 0;
}
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
692,7 → 702,6
UDR0 = c;
}
 
 
//############################################################################
//INstallation der Seriellen Schnittstelle
void UART_Init (void)
720,9 → 729,9
VersionInfo.SWMinor = VERSION_MINOR;
VersionInfo.SWPatch = VERSION_PATCH;
VersionInfo.ProtoMajor = VERSION_SERIAL_MAJOR;
VersionInfo.reserved1 = 0;
VersionInfo.BL_Firmware = 255;
VersionInfo.HWMajor = PlatinenVersion;
VersionInfo.LabelTextCRC = CalculateDebugLableCrc();
pRxData = 0;
RxDataLen = 0;
}
777,7 → 786,7
nc.ProtoMajor = VersionInfo.ProtoMajor;
nc.BL_Firmware = VersionInfo.BL_Firmware;
nc.Flags = VersionInfo.Flags;
nc.reserved1 = 0;
//nc.reserved1 = 0;
SendOutData('V', FC_ADDRESS, 1, (unsigned char *) &nc, sizeof(nc));
}
else
809,6 → 818,7
Data3D.Centroid[0] = SummeNick >> 9;
Data3D.Centroid[1] = SummeRoll >> 9;
Data3D.Centroid[2] = Mess_Integral_Gier >> 9;
Data3D.AccZ = Aktuell_az;
SendOutData('C', FC_ADDRESS, 1, (unsigned char *) &Data3D,sizeof(Data3D));
Timer3D = SetDelay(Intervall3D);
}
/trunk/uart.h
45,7 → 45,9
{
signed int Winkel[3]; // nick, roll, compass in 0,1°
signed char Centroid[3];
signed char reserve[5];
// signed char reserve[5];
unsigned int AccZ;
signed char reserve[3];
};
extern struct str_Data3D Data3D;
 
117,7 → 119,7
unsigned char SWMajor;
unsigned char SWMinor;
unsigned char ProtoMajor;
unsigned char reserved1;
unsigned char LabelTextCRC;
unsigned char SWPatch;
unsigned char HardwareError[2];
unsigned char HWMajor;
/trunk/version.txt
746,6 → 746,9
- Bugfix: WP-Event was sometimes triggered two times
- transmit HoverGas to NC for logging
 
2.08b (09.02.2015)
- reduced load on UART for redundant slave when motors are not running
2.09a (10.11.2014)
- New data structure of ExternalControl
- Internal Copies of the Channel values
761,14 → 764,21
- ComingHome: automatic Direction change
- allows Yawing without CareFree (Yawing at Coming Home)
- Bugfix: Output LED Blinking when RC-Lost
 
2.09e (13.02.2015)
- bugfix: uBat in 16Bit
- AnalogLable CRC implemented
- ShutterCounter -> counts up when the output switches from low to high
- transmit LipoCount to NC
- Config "Disable CameraCompensation" disables also Roll-Compensation now
 
toDo:
- CalAthmospheare nachführen