/// <summary> /// モニタータブ初期化 /// </summary> private void initMonitorTab() { MonitorLabel label = null; MonitorData monitor = MonitorData.GetInstance(); // モニタ更新イベント登録 m_MonitorSender.OnMonitorReceived += evMonitorReceived; // マップ更新イベント登録 m_MonitorSender.OnMoveMapReceived += evMoveMapMonitorReceived; // ステータス label = new MonitorLabel("動作", monitor.Commander.CurrentSequence); pnlMonitor.Controls.Add(label); label = new MonitorLabel("草刈り刃", monitor.Motor.Cutter); pnlMonitor.Controls.Add(label); label = new MonitorLabel("操作モード", monitor.Motor.RemoteMode); pnlMonitor.Controls.Add(label); label = new MonitorLabel("走行禁止エリア", monitor.FrontCamera.RedTape); pnlMonitor.Controls.Add(label); label = new MonitorLabel("障害物", monitor.FrontCamera.BlueObject); pnlMonitor.Controls.Add(label); label = new MonitorLabel("動物検知", monitor.AnimalCamera.Animal); pnlMonitor.Controls.Add(label); label = new MonitorLabel("夜間検知", monitor.AroundCamera.Detect); pnlMonitor.Controls.Add(label); // 詳細情報 label = new MonitorLabel("ジャイロ (X)", monitor.Motor.GyroX); pnlDetail.Controls.Add(label); label = new MonitorLabel("ジャイロ (Y)", monitor.Motor.GyroY); pnlDetail.Controls.Add(label); label = new MonitorLabel("超音波 (1)", monitor.FrontCamera.Distance[0]); pnlDetail.Controls.Add(label); label = new MonitorLabel("超音波 (2)", monitor.FrontCamera.Distance[1]); pnlDetail.Controls.Add(label); // システムエラー状態 label = new MonitorLabel("司令塔", monitor.Commander.SystemError); pnlSystemError.Controls.Add(label); label = new MonitorLabel("モータ", monitor.Motor.ErrorStatus); pnlSystemError.Controls.Add(label); label = new MonitorLabel("前方", monitor.FrontCamera.SystemError); pnlSystemError.Controls.Add(label); label = new MonitorLabel("動物", monitor.AnimalCamera.SystemError); pnlSystemError.Controls.Add(label); label = new MonitorLabel("周辺", monitor.AroundCamera.SystemError); pnlSystemError.Controls.Add(label); }
/// <summary> /// モニタ更新 /// </summary> private void updateMonitors() { foreach (Control control in pnlMonitor.Controls) { MonitorLabel label = (MonitorLabel)control; label.UpdateValue(); } foreach (Control control in pnlDetail.Controls) { MonitorLabel label = (MonitorLabel)control; label.UpdateValue(); } foreach (Control control in pnlSystemError.Controls) { MonitorLabel label = (MonitorLabel)control; label.UpdateValue(); } lblMovedRate.Text = string.Format("{0:F1}", MoveMap.GetInstance().MovedRate); lblStateDateTime.Text = MonitorData.GetInstance().Commander.LastStartDate.ToString(); }