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