Ejemplo n.º 1
0
        private void CloseProc()
        {
            try
            {
                while (Flags.Initializing周辺機器)
                {
                    ;
                }

                if (Flags.StateMbed)
                {
                    LPC1768.ClosePort();
                }

                SpeechRecognition.Close();
            }
            catch
            {
                MessageBox.Show("例外発生");
            }
            finally
            {
                //データ保存を確実に行う
                if (!State.Save個別データ())
                {
                    MessageBox.Show("個別データの保存に失敗しました");
                }
            }
        }
Ejemplo n.º 2
0
        public static double MeasAc24vR10()
        {
            LPC1768.SendData("MeasR10");

            if (Double.TryParse(LPC1768.ReceiveData, out var result))
            {
                return(result);
            }
            else
            {
                return(-999.0);
            }
        }
Ejemplo n.º 3
0
 public static void SetRL5(bool sw) => LPC1768.SendData("Out,P28," + (sw ? "1" : "0"));
Ejemplo n.º 4
0
 /// <summary>
 /// OKスイッチ、Cancelスイッチ、CN4-3の状態をまとめて読み込む
 /// </summary>
 public static string ReadInput()
 {
     LPC1768.SendData("ReadInput");
     return(LPC1768.ReceiveData);//ex 100 → OKボタン押されてる、Cancelボタン押されてない、CN4-3-4間開放状態
 }
Ejemplo n.º 5
0
 public static bool InitGdm()
 {
     LPC1768.SendData("InitGdm");
     return(LPC1768.ReceiveData == "OK" ? true : false);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// mbed内部のOK/Cancelスイッチのステートを初期化する
 /// </summary>
 public static void ResetSwState() => LPC1768.SendData("ResetSwState");
Ejemplo n.º 7
0
 /// <summary>
 /// mbedにResetIoコマンド送信しIOの出力を全OFFする
 /// </summary>
 public static void ResetIo() => LPC1768.SendData("ResetIo");
Ejemplo n.º 8
0
        /// <summary>
        /// 周辺機器の初期化
        /// </summary>
        public static void InitDevices()//TODO:
        {
            Flags.Initializing周辺機器 = true;

            Task.Run(() =>
            {
                Flags.DoGetDeviceName = true;
                while (Flags.DoGetDeviceName)
                {
                    FindSerialPort.GetDeviceNames();
                    Thread.Sleep(400);
                }
            });



            //LPC1768の初期化
            bool StopMbed = false;

            Task.Run(() =>
            {
                while (true)
                {
                    if (Flags.StopInit周辺機器)
                    {
                        break;
                    }

                    Flags.StateMbed = LPC1768.Init();
                    if (Flags.StateMbed)
                    {
                        break;
                    }

                    Thread.Sleep(500);
                }
                StopMbed = true;
            });

            //マルチメータの初期化
            bool StopMulti = false;

            Task.Run(() =>
            {
                while (true)
                {
                    if (Flags.StopInit周辺機器)
                    {
                        break;
                    }

                    Flags.StateMultimeter = InitGdm();
                    if (Flags.StateMultimeter)
                    {
                        break;
                    }

                    Thread.Sleep(500);
                }
                StopMulti = true;
            });

            Task.Run(() =>
            {
                while (true)
                {
                    CheckAll周辺機器フラグ();
                    var IsAllStopped = StopMbed && StopMulti;

                    if (Flags.AllOk周辺機器接続 || IsAllStopped)
                    {
                        break;
                    }
                    Thread.Sleep(400);
                }
                Flags.DoGetDeviceName = false;
                Thread.Sleep(500);
                Flags.Initializing周辺機器 = false;
            });
        }