661,7 → 661,6 |
if(FC.StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) NaviData.FCStatusFlags &= ~FC_STATUS_FLY; |
FC.StatusFlags2 = FromFlightCtrl.Param.Byte[9]; |
NaviData.FCStatusFlags2 = (NaviData.FCStatusFlags2 & (FC_STATUS2_OUT1_ACTIVE | FC_STATUS2_OUT2_ACTIVE)) | (FC.StatusFlags2 & (0xff - (FC_STATUS2_OUT1_ACTIVE | FC_STATUS2_OUT2_ACTIVE))); |
|
if((!(LastTransmittedFCStatusFlags2 & FC_STATUS2_OUT1_ACTIVE)) && (FC.StatusFlags2 & FC_STATUS2_OUT1_ACTIVE)) NaviData.FCStatusFlags2 |= FC_STATUS2_OUT1_ACTIVE; |
else |
if(((LastTransmittedFCStatusFlags2 & FC_STATUS2_OUT1_ACTIVE)) && !(FC.StatusFlags2 & FC_STATUS2_OUT1_ACTIVE)) NaviData.FCStatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE; |
686,7 → 685,16 |
if(BL_MinOfMaxPWM < ErrorCheck_BL_MinOfMaxPWM) ErrorCheck_BL_MinOfMaxPWM = BL_MinOfMaxPWM; // hold the value until Error processed |
Parameter.NaviGpsModeControl = FromFlightCtrl.Param.Byte[4]; |
FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[5]; |
index = FromFlightCtrl.Param.Byte[2] % MAX_MOTORS; |
//0x40 |
//0x20 |
//0x10 |
if(FromFlightCtrl.Param.Byte[2] & 0x80) // this Flag marks a changed Out1 |
{ |
NaviData_Out1Trigger.Longitude = NaviData.CurrentPosition.Longitude; |
NaviData_Out1Trigger.Latitude = NaviData.CurrentPosition.Latitude; |
NaviData_Out1Trigger.Altimeter = NaviData.Altimeter; |
} |
index = FromFlightCtrl.Param.Byte[2] & 0x0f; //MAX_MOTORS |
Motor[index].NotReadyCnt = FromFlightCtrl.Param.Byte[6]; |
Motor_Version[index] = FromFlightCtrl.Param.Byte[7]; |
Motor[index].MaxPWM = FromFlightCtrl.Param.Byte[8]; |
828,6 → 836,7 |
Parameter.HomeYawMode = ((ServoParams.CompInvert & 0x18) >> 3); |
NaviData_Home.LipoCellCount = FromFlightCtrl.Param.Byte[5]; |
NaviData_Volatile.ShutterCounter = FromFlightCtrl.Param.Int[3]; // 6 & 7 |
// DebugOut.Analog[] = NaviData_Volatile.ShutterCounter; |
// 8 |
// 9 |
// 10 |