public void AddAngleData(AngleData angelData)
 {
     if (lastAngleData != null)
     {
         if (IsAccZero(lastAngleData.Value) && !IsAccZero(angelData))
         {
             ActivePoint(FlyProtocol.GetPoint(PROGRAM_CONTROL_STATUS.STATUS_LEVEL1_SHUTDOWN).Value, true);
         }
     }
     lastAngleData = angelData;
 }
 public void AddProgramData(ProgramControlData programData)
 {
     switch (programData.controlStatus)
     {
     case 1:
     case 2:
     case 12:
         ActivePoint(FlyProtocol.GetProgramControlStatusDescription(programData.controlStatus), true);
         break;
     }
 }
 public void AddNavData(NavData navData)
 {
     if (lastNavData != null)
     {
         if (lastNavData.Value.height > navData.height && IsActive(FlyProtocol.GetPoint(PROGRAM_CONTROL_STATUS.STATUS_BOOM).Value))
         {
             ActivePoint(FlyProtocol.GetPoint(PROGRAM_CONTROL_STATUS.STATUS_TOP).Value, true);
         }
     }
     lastNavData = navData;
 }
 private void InitProgramDigram()
 {
     programDigram.SetLinePoints(new Point(0.1, 0.9), new Point(0.5, -0.8), new Point(0.9, 0.9));
     FlyProtocol.GetPoints().ForEach(point => programDigram.AddPoint(point.Value, point.Key));
 }