43,6 → 43,7 |
unsigned char *PtrToChksum; |
unsigned char NC_RequestsConfig = 0; |
unsigned char CamCtrlCharacter = ' '; |
unsigned char NCParachute = 0; |
|
#ifdef USE_SPI_COMMUNICATION |
|
475,6 → 476,11 |
switch (FromNaviCtrl.Command) |
{ |
case SPI_NCCMD_KALMAN: |
#define KM_BIT_YAW 0x01 |
#define KM_BIT_UART 0x02 |
#define KM_BIT_SLOW 0x04 // Fast switch off |
#define KM_BIT_OFF 0x08 // Fast switch off |
#define KM_BIT_EXTCNTRL 0x10 |
FromNaviCtrl_Value.Kalman_K = FromNaviCtrl.Param.sByte[0]; |
FromNaviCtrl_Value.Kalman_MaxFusion = FromNaviCtrl.Param.sByte[1]; |
FromNaviCtrl_Value.Kalman_MaxDrift = FromNaviCtrl.Param.sByte[2]; |
490,8 → 496,9 |
//++++++++++++++++++++++++++++++++++++++++++++ |
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) // controls the Uart-Multiplexer on the FC3.0 |
if(FromNaviCtrl.Param.Byte[4] & KM_BIT_YAW) NCForcesNewDirection = 1; |
NCParachute = FromNaviCtrl.Param.Byte[4] & (KM_BIT_SLOW | KM_BIT_OFF); |
if(FromNaviCtrl.Param.Byte[4] & KM_BIT_UART) // 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 |
512,7 → 519,7 |
SwitchMultiplexerToUpdate = 0; |
} |
|
if(FromNaviCtrl.Param.Byte[4] & 0x10) // External Control |
if(FromNaviCtrl.Param.Byte[4] & KM_BIT_EXTCNTRL) // External Control |
{ |
memcpy((unsigned char *)&ExternalControl, (unsigned char *)&FromNaviCtrl.Param.Byte[13], 7); // 7 Bytes ExternalControl |
if(Parameter_ExternalControl < 128 || (!ExternalControl.Config & EC_VALID)) ExternalControl.Config = 0; |