// #{id}P{PWM}T{Time}\r\n private void GoMoveAngle(int id) { if (((txtMoveAngle.Text == null) || (txtMoveAngle.Text.Trim() == "")) || ((txtMoveAngleTime.Text == null) || (txtMoveAngleTime.Text.Trim() == ""))) { AppendLog("\n請先設定要移動的目標角度及移動時間"); return; } try { int angle = Convert.ToInt32(txtMoveAngle.Text.Trim(), 10); int time = Convert.ToInt32(txtMoveAngleTime.Text.Trim(), 10); if ((angle < 0) || (angle > 270)) { UpdateInfo("請輸入 0 - 270 之間 的 角度.", UTIL.InfoType.error); return; } movePosReturn mar = MoveAngle(id, angle, time); if (mar == movePosReturn.success) { AppendLog(String.Format("舵機移動到 {0}度 的位置", angle)); } else { AppendLog(GetErrorMsg(mar)); } } catch (Exception ex) { AppendLog("\nERR: " + ex.Message); } }
private string GetErrorMsg(movePosReturn code) { string msg = ""; switch (code) { case movePosReturn.success: break; case movePosReturn.invalidPWM: msg = "位置不正確"; break; case movePosReturn.invalidAngle: msg = "輸入角度不正確"; break; case movePosReturn.unknownMode: msg = "舵機模式不明"; break; case movePosReturn.unsupportedMode: msg = "舵機模式不支援"; break; default: msg = "不明錯誤: " + code.ToString(); break; } return(msg); }