Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2618 → Rev 2619

/trunk/spi.c
31,7 → 31,7
SPI_FCCMD_STICK2, SPI_FCCMD_PARAMETER2, SPI_FCCMD_BL_ACCU
};
unsigned char SPI_CommandCounter = 0;
unsigned char NC_ErrorCode = 0;
unsigned char NC_ErrorCode = 0, Partner_ErrorCode = 0;
unsigned char NC_GPS_ModeCharacter = ' ';
unsigned char EarthMagneticField = 0;
unsigned char EarthMagneticInclination = 0, EarthMagneticInclinationTheoretic = 0;
269,11 → 269,7
ToNaviCtrl.Param.Byte[8] = VersionInfo.BL_Firmware;
ToNaviCtrl.Param.Byte[9] = ActiveParamSet;
ToNaviCtrl.Param.Int[5] = FlugMinutenGesamt; // 10 & 11
if(PlatinenVersion >= 30)
{
if(!(PIND & 0x20)) ToNaviCtrl.Param.Byte[12] = 2; // Slave
else ToNaviCtrl.Param.Byte[12] = 1; // Master
} else ToNaviCtrl.Param.Byte[12] = 0;
ToNaviCtrl.Param.Byte[12] = IamMaster;
slow_command++;
break;
case 1:
488,8 → 484,28
//++++++++++++++++++++++++++++++++++++++++++++
if(FromNaviCtrl.Param.Byte[12] && !beeptime && !DisableRcOffBeeping) beeptime = FromNaviCtrl.Param.Byte[12] * 16;
//++++++++++++++++++++++++++++++++++++++++++++
if(FromNaviCtrl.Param.Byte[4] & 0x01) NCForcesNewDirection = 1;
if(FromNaviCtrl.Param.Byte[4] & 0x02) PORTD &= ~0x10; else PORTD |= 0x10; // switches PORTD.4 Low (UART-MUX)
if(FromNaviCtrl.Param.Byte[4] & 0x01) NCForcesNewDirection = 1;
if(FromNaviCtrl.Param.Byte[4] & 0x02) // controls the Uart-Multiplexer on the FC3.0
{
#ifdef REDUNDANT_FC_SLAVE
if(MotorenEin) // otherwise we wouldn't read the answer of the BLs if debugging on FC is active
{
UART_MUX_TO_BL;
SwitchMultiplexerToUpdate = 0;
}
else
#endif
{
if(UebertragungAbgeschlossen == 2) UART_MUX_TO_UPDATE;
SwitchMultiplexerToUpdate = 1;
}
}
else
{
UART_MUX_TO_BL;
SwitchMultiplexerToUpdate = 0;
}
 
if(FromNaviCtrl.Param.Byte[4] & 0x10) // External Control
{
memcpy((unsigned char *)&ExternalControl, (unsigned char *)&FromNaviCtrl.Param.Byte[13], 7); // 7 Bytes ExternalControl
515,6 → 531,10
if(!SpeakHoTT || (SpeakHoTT >= SPEAK_GPS_HOLD && SpeakHoTT <= SPEAK_GPS_OFF)) SpeakHoTT = FromNaviCtrl.Param.Byte[11];
#endif
NC_RequestsConfig = FromNaviCtrl.Param.Byte[12];
Partner_ErrorCode = FromNaviCtrl.Param.Byte[13];
Partner_StatusFlags = FromNaviCtrl.Param.Byte[14];
Partner_StatusFlags2 = FromNaviCtrl.Param.Byte[15];
Partner_StatusFlags3 = FromNaviCtrl.Param.Byte[16];
break;
case SPI_NCCMD_GPSINFO:
GPSInfo.Flags = FromNaviCtrl.Param.Byte[0];
/trunk/spi.h
229,7 → 229,7
extern struct str_FromNaviCtrl FromNaviCtrl;
extern unsigned char SPI_CommandCounter,NaviDataOkay;
extern signed char FromNC_Rotate_C, FromNC_Rotate_S;
extern unsigned char NC_ErrorCode;
extern unsigned char NC_ErrorCode,Partner_ErrorCode;
extern void SPI_MasterInit(void);
extern unsigned char SPI_StartTransmitPacket(void);
extern void UpdateSPI_Buffer(void);