Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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();
        }