// Use this for initialization void Start() { joycons = JoyconManager.Instance.j; bug = false; if (joycons.Count == 2) { if (initJoycons()) { aPressed = false; timeCounter = 0; speed = 1; //Initialisation des données pour la force d'impact. minForce = 500f; force = minForce; maxForce = 1000f; forceIncr = -5; currentMode = MODE.ORIENTATION; bInstance = GameObject.Find("Punching Ball").GetComponent <MG_PBall_PBall>(); bInstance.setPlayerMode(currentMode.ToString()); gameObject.GetComponent <Renderer>().material.color = Color.black; gameObject.GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezePosition | RigidbodyConstraints.FreezeRotation; } else { Debug.Log("Absence du joycon droit ou gauche."); bug = true; } } else { Debug.Log("Pas assez ou trop de joycons détectés. Un joycon droit et un gauche nécessaires."); bug = true; } }
/// <summary> /// Чтение зашифрованного файла конфигурации с параметрами соединения /// </summary> /// <param name="notUsed">не используется (-1), для совместимости с типом делегата</param> /// <param name="listConnSett">выходной список объектов с параметрами соедений</param> /// <param name="res">результат выполнения функции</param> /// <param name="mes">сообщение после выполнения операции</param> public void ReadSettingsFile(int notUsed, out List <ConnectionSettings> listConnSett, out int res, out string mes) { //MessageBox.Show (null, m_mode.ToString (), ); Console.WriteLine(@"FileConnSett::ReadSettingsFile () - mode=" + m_mode.ToString()); if ((m_mode == MODE.FILE) && (File.Exists(m_arg) == false)) {//Не найден файл listConnSett = new List <ConnectionSettings>(); res = 1; mes = "Не найден файл: " + m_arg; } else { res = ParseSettingsFile(out listConnSett, out mes); } }
private int HandleMode(MODE mode, int parameter) { int returnValue = 0; switch (mode) { case MODE.position: returnValue = this.Memory[parameter]; break; case MODE.immediate: returnValue = parameter; break; default: throw new ArgumentException("Unknown Mode: " + mode.ToString()); } return(returnValue); }
private void setModeDependentLayout() { lblTitle.Text = Resources.GetString(mode.ToString()); switch (mode) { case MODE.StockMovement: { lblNewStock.Visible = false; txtNewStock.Visible = false; lblNewStockUOM.Visible = false; lblCostPlace.Visible = true; ddlCostPlace.Visible = true; lblAmount.Visible = true; txtAmount.Visible = true; lblAmountUOM.Visible = true; ddlCostPlace.DataSource = service.GetCostPlaces(); ddlCostPlace.ValueMember = "Id"; ddlCostPlace.DisplayMember = "Name"; break; } case MODE.StockCount: { lblNewStock.Visible = true; txtNewStock.Visible = true; lblNewStockUOM.Visible = true; lblCostPlace.Visible = false; ddlCostPlace.Visible = false; lblAmount.Visible = false; txtAmount.Visible = false; lblAmountUOM.Visible = false; break; } } }
private void initForm() { _availableModes = new List <string>(); Enum.GetNames(typeof(MODE)).ToList().ForEach(mode => { cbValidationMode.Items.Add(mode); _availableModes.Add(mode); }); if (cbValidationMode.Items.Count > 0) { try { _validationMode = (MODE)Enum.Parse(typeof(MODE), cbValidationMode.Items[0].ToString(), false); cbValidationMode.SelectedItem = _validationMode.ToString(); } catch (ArgumentException) { MessageBox.Show("Invalid Voting Scheme."); _validationMode = (MODE)Enum.Parse(typeof(MODE), _availableModes.First(), false); cbValidationMode.SelectedItem = _validationMode.ToString(); } } }
public static async Task <bool> CheckInputV(MODE mode) { await Task.Delay(1500); bool result = false; bool result下限 = false; bool result上限 = false; string resultData = ""; const int SampleCnt = 5; var ListData = new List <double>(); State.VmTestStatus.TestLog += $" {mode.ToString()} 5V確認"; //ローカル関数の定義■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ void GetData() { General.ClearCommlog(); Target.SendData("V_IN"); while (true)//取り込んだ通信データが規定行数(サンプリング数)になるまで待つ { if (Flags.ClickStopButton) { return; } if (General.CountNewline() == SampleCnt + 2) { break; } } Target.Escape(); int offset = 0; switch (mode) { case MODE.V_1: offset = 1; break; case MODE.V_2: offset = 2; break; case MODE.V_3: offset = 3; break; case MODE.V_4: offset = 4; break; } int 検索開始位置 = 0; var log = State.VmComm.RX; foreach (var i in Enumerable.Range(0, SampleCnt)) { int FoundIndex = log.IndexOf("V_IN,", 検索開始位置); int 改行位置 = log.IndexOf("\r\n", FoundIndex); var 取り出し1行 = log.Substring(FoundIndex, 改行位置 - FoundIndex); var dataList = 取り出し1行.Split(','); ListData.Add(Double.Parse(dataList[offset])); 検索開始位置 = FoundIndex + 1; } }; //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ try { return(await Task <bool> .Run(() => { //電源ONする処理 General.PowerSupply(true); if (!General.CheckDemo表示()) { return false; } HIOKI7012.OutDcV(5.000); Sleep(2000); GetData(); Sleep(500); HIOKI7012.StopSource(); General.PowerSupply(false); result下限 = ListData.All(data => data >= State.TestSpec.V_5V_Min); result上限 = ListData.All(data => data <= State.TestSpec.V_5V_Max); result = result下限 && result上限; ListData.Sort(); if (result) { resultData = ListData[SampleCnt / 2].ToString("F3") + "V";//中央値 } else { if (!result下限) { resultData = ListData[0].ToString("F3") + "V";//Min } else { resultData = ListData[SampleCnt - 1].ToString("F3") + "V";//Max } } return result; })); } catch { return(false); } finally { State.VmTestStatus.TestLog += result? "---PASS\r\n" : "---FAIL\r\n"; HIOKI7012.StopSource(); General.PowerSupply(false); switch (mode) { case MODE.V_1: State.VmTestResults.V1_5V = resultData; State.VmTestResults.ColV1_5V = result ? OffBrush : NgBrush; break; case MODE.V_2: State.VmTestResults.V2_5V = resultData; State.VmTestResults.ColV2_5V = result ? OffBrush : NgBrush; break; case MODE.V_3: State.VmTestResults.V3_5V = resultData; State.VmTestResults.ColV3_5V = result ? OffBrush : NgBrush; break; case MODE.V_4: State.VmTestResults.V4_5V = resultData; State.VmTestResults.ColV4_5V = result ? OffBrush : NgBrush; break; } } }
public static async Task <bool> SetInputV(MODE mode) { bool FlagTimeout = false; System.Timers.Timer Tm; //タイマー(ウィンドウハンドル取得用)の設定 Tm = new System.Timers.Timer(); Tm.Enabled = false; Tm.Interval = 10000; Tm.Elapsed += (o, e) => { Tm.Stop(); FlagTimeout = true; }; bool result第一調整点 = false; bool result第二調整点 = false; string Data第一調整点 = ""; string Data第二調整点 = ""; string Data第一調整点再 = ""; string Data第二調整点再 = ""; State.VmTestStatus.TestLog += $" {mode.ToString()} 調整"; //ローカル関数の定義■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ string GetData(string command) { General.ClearCommlog(); Target.SendData(command); Tm.Stop(); FlagTimeout = false; Tm.Start(); while (true)//取り込んだ通信データが規定行数(サンプリング数)になるまで待つ { if (FlagTimeout || Flags.ClickStopButton) { return(null); } if (General.CountNewline() == 2) { break; } } Target.Escape(); Sleep(1000); var log = State.VmComm.RX; int FoundIndex = log.IndexOf(command + ","); int 改行位置 = log.IndexOf("\r\n", FoundIndex); var 取り出し1行 = log.Substring(FoundIndex, 改行位置 - FoundIndex); var dataList = 取り出し1行.Split(','); return(dataList[2].Substring(1));//一文字目がスペースなので削除 }; List <string> GetData再(string command) { General.ClearCommlog(); Target.SendData(command); Tm.Stop(); FlagTimeout = false; Tm.Start(); while (true)//取り込んだ通信データが規定行数(サンプリング数)になるまで待つ { if (FlagTimeout || Flags.ClickStopButton) { return(null); } if (General.CountNewline() == 2) { break; } } Target.Escape(); Sleep(1000); var log = State.VmComm.RX; int FoundIndex = log.IndexOf(command + ","); int 改行位置 = log.IndexOf("\r\n", FoundIndex); var 取り出し1行 = log.Substring(FoundIndex, 改行位置 - FoundIndex); var dataList = 取り出し1行.Split(','); return(new List <string>() { dataList[1].Substring(1), dataList[2].Substring(1) }); //一文字目がスペースなので削除 }; //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ try { return(await Task <bool> .Run(() => { string command = ""; switch (mode) { case MODE.V_1: //メッセージボックス表示("CN2にシグナルソース(電圧端子)を接続してください"); General.Set7012Source(General.SOURCE_CH.V1); command = "V1"; break; case MODE.V_2: //メッセージボックス表示("CN4にシグナルソース(電圧端子)を接続してください"); General.Set7012Source(General.SOURCE_CH.V2); command = "V2"; break; case MODE.V_3: //メッセージボックス表示("CN6にシグナルソース(電圧端子)を接続してください"); General.Set7012Source(General.SOURCE_CH.V3); command = "V3"; break; case MODE.V_4: //メッセージボックス表示("CN8にシグナルソース(電圧端子)を接続してください"); General.Set7012Source(General.SOURCE_CH.V4); command = "V4"; break; } Sleep(500); //電源ONする処理 General.PowerSupply(true); if (!General.CheckDemo表示()) { return false; } HIOKI7012.OutDcV(0.500); Sleep(2000); Data第一調整点 = GetData(command + "1"); if (Data第一調整点 == null) { return false; } Sleep(500); HIOKI7012.OutDcV(10.000); Sleep(2000); Data第二調整点 = GetData(command + "2"); if (Data第二調整点 == null) { return false; } Sleep(500); General.PowerSupply(false); Sleep(1000); //電源ONする処理 General.PowerSupply(true); if (!General.CheckDemo表示()) { return false; } var ListData再 = GetData再("@" + command + "*"); if (ListData再 == null) { return false; } Data第一調整点再 = ListData再[0]; Data第二調整点再 = ListData再[1]; result第一調整点 = Data第一調整点 == Data第一調整点再; result第二調整点 = Data第二調整点 == Data第二調整点再; return result第一調整点 && result第二調整点; })); } catch { return(false); } finally { State.VmTestStatus.TestLog += result第一調整点 && result第二調整点 ? "---PASS\r\n" : "---FAIL\r\n"; HIOKI7012.StopSource(); General.PowerSupply(false); switch (mode) { case MODE.V_1: State.VmTestResults.V1_1 = Data第一調整点 + "h"; State.VmTestResults.V1_2 = Data第二調整点 + "h"; State.VmTestResults.V1_1RE = Data第一調整点再 + "h"; State.VmTestResults.V1_2RE = Data第二調整点再 + "h"; State.VmTestResults.ColV1_1 = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV1_2 = result第二調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV1_1RE = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV1_2RE = result第二調整点 ? OffBrush : NgBrush; break; case MODE.V_2: State.VmTestResults.V2_1 = Data第一調整点 + "h"; State.VmTestResults.V2_2 = Data第二調整点 + "h"; State.VmTestResults.V2_1RE = Data第一調整点再 + "h"; State.VmTestResults.V2_2RE = Data第二調整点再 + "h"; State.VmTestResults.ColV2_1 = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV2_2 = result第二調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV2_1RE = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV2_2RE = result第二調整点 ? OffBrush : NgBrush; break; case MODE.V_3: State.VmTestResults.V3_1 = Data第一調整点 + "h"; State.VmTestResults.V3_2 = Data第二調整点 + "h"; State.VmTestResults.V3_1RE = Data第一調整点再 + "h"; State.VmTestResults.V3_2RE = Data第二調整点再 + "h"; State.VmTestResults.ColV3_1 = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV3_2 = result第二調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV3_1RE = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV3_2RE = result第二調整点 ? OffBrush : NgBrush; break; case MODE.V_4: State.VmTestResults.V4_1 = Data第一調整点 + "h"; State.VmTestResults.V4_2 = Data第二調整点 + "h"; State.VmTestResults.V4_1RE = Data第一調整点再 + "h"; State.VmTestResults.V4_2RE = Data第二調整点再 + "h"; State.VmTestResults.ColV4_1 = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV4_2 = result第二調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV4_1RE = result第一調整点 ? OffBrush : NgBrush; State.VmTestResults.ColV4_2RE = result第二調整点 ? OffBrush : NgBrush; break; } } }
public string getCurrentMode() { return(currentMode.ToString()); }
public static void DRAW_PANEL() { EditorGUILayout.BeginHorizontal(); GUILayout.Space(10); EditorGUILayout.BeginVertical(); GUILayout.Space(5); Color editorGUIback = new Color(.76f, .76f, .76f); if (KP_Style.selection_Style == null) { KP_Style.Selection_Style(); } // if (selection == null) selection = kSelect.OBJECT; //Mesh _selectMesh = kSelect.MESH; //MODE modeTemp = _editorMode; GUI.enabled = (selection != null); //------------------------------------------------------------------- // SELECTION float bw = 50, bh = 30; _F_selection = EditorGUILayout.Foldout(_F_selection, "Selection " + E_MODE.ToString());// + ((_selection != null) ? "[ " + _selection.name + " ]" : "")); if (_F_selection) { bool pressed = false; EditorGUILayout.BeginVertical(); GUILayout.Space(2); GUILayout.BeginHorizontal(); GUI.color = (E_MODE == MODE.Point) ? Color.yellow : editorGUIback; if (GUILayout.Button(new GUIContent(kLibary.LoadBitmap("points", 25, 25)), KP_Style.selection_Style, GUILayout.Width(bw), GUILayout.Height(bh))) { E_MODE = (E_MODE == MODE.Point) ? MODE.None : MODE.Point; pressed = true; } GUI.color = Color.white; GUI.color = (E_MODE == MODE.Edge) ? Color.yellow : editorGUIback; if (GUILayout.Button(new GUIContent(kLibary.LoadBitmap("edge", 25, 25)), KP_Style.selection_Style, GUILayout.Width(bw), GUILayout.Height(bh))) { E_MODE = (E_MODE == MODE.Edge) ? MODE.None : MODE.Edge; pressed = true; } GUI.color = Color.white; GUI.color = (E_MODE == MODE.Triangle) ? Color.yellow : editorGUIback; if (GUILayout.Button(new GUIContent(kLibary.LoadBitmap("tri", 25, 25)), KP_Style.selection_Style, GUILayout.Width(bw), GUILayout.Height(bh))) { E_MODE = (E_MODE == MODE.Triangle) ? MODE.None : MODE.Triangle; pressed = true; } GUI.color = Color.white; GUI.color = (E_MODE == MODE.Quad) ? Color.yellow : editorGUIback; if (GUILayout.Button(new GUIContent(kLibary.LoadBitmap("quad", 25, 25)), KP_Style.selection_Style, GUILayout.Width(bw), GUILayout.Height(bh))) { E_MODE = (E_MODE == MODE.Quad) ? MODE.None : MODE.Quad; pressed = true; } GUI.color = Color.white; GUI.color = (E_MODE == MODE.All) ? Color.yellow : editorGUIback; if (GUILayout.Button(new GUIContent(kLibary.LoadBitmap("sub", 25, 25)), KP_Style.selection_Style, GUILayout.Width(bw), GUILayout.Height(bh))) { E_MODE = (E_MODE == MODE.All) ? MODE.None : MODE.All; pressed = true; } GUI.color = Color.white; GUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); if (pressed) { // if (_selection != null ) // { selection = kSelect.OBJECT; FREEZE = (E_MODE != MODE.None && selection != null) ? true : false; if (E_MODE != MODE.None) { selection.hideFlags |= HideFlags.NotEditable; kPoly2Tool.SceneEvent(true); _selectMesh = kSelect.MESH; } else { selection.hideFlags = 0; kPoly2Tool.SceneEvent(false); _selectMesh = null; } curPointIndex.Clear(); TOOL_INDEX = -1; // if (toolVerts.Count > 0) // toolVerts.Clear(); // } SceneView.currentDrawingSceneView.Repaint(); } //EditorGUILayout.BeginHorizontal(); //EditorGUILayout.PrefixLabel("" + _editorMode.ToString()); // EditorGUILayout.LabelField(" " + (_editorMode != MODE.None && curPointIndex.Count > 0 ? curPointIndex[0] + " " : ""), GUILayout.ExpandWidth(true)); //EditorGUILayout.EndHorizontal(); } GUI.enabled = (E_MODE != MODE.None); //------------------------------------------------------------------- // VERTS _F_vertices = EditorGUILayout.Foldout(_F_vertices, "Edit Vertices"); if (_F_vertices) { GUILayout.BeginHorizontal(); if (GUILayout.Button(new GUIContent("Remove"), EditorStyles.toolbarButton)) { VerticesRemover(); } if (GUILayout.Button(new GUIContent("Break"), EditorStyles.toolbarButton)) { kPoly.VerticesBreak(_selectMesh, curPointIndex.ToArray()); } if (GUILayout.Button(new GUIContent("Turn"), EditorStyles.toolbarButton)) { kPoly.TriangleTurn(_selectMesh, curPointIndex); } //GUILayout.Space(10); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Button(new GUIContent("Extrude"), EditorStyles.toolbarButton); GUILayout.Button(new GUIContent("P"), EditorStyles.toolbarButton, GUILayout.Width(25)); GUILayout.Space(5); if (GUILayout.Button(new GUIContent("Weld"), EditorStyles.toolbarButton)) { TOOL_INDEX = 1; ModifiVerticies_points(true); TOOL_INDEX = -1; } GUI.color = (TOOL_INDEX == 1) ? new Color(0, .5f, 1, .7f) : Color.white; if (GUILayout.Button(new GUIContent("P"), EditorStyles.toolbarButton, GUILayout.Width(25))) { if (TOOL_INDEX == -1) { TOOL_INDEX = 1; } else { TOOL_INDEX = -1; } SceneView.currentDrawingSceneView.Repaint(); } GUI.color = Color.white; if (E_MODE == MODE.Edge) { if (GUILayout.Button(new GUIContent("Connect"), EditorStyles.toolbarButton)) { kPoly.EdgeConnect_Preview(_selectMesh, curPointIndex, edges, SGUIelements._connex, SGUIelements._conPad, true); //_selectMesh, curPointIndex, edges, SGUIelements._connex, SGUIelements._conPad, true); // ModifiVerticies_edgeConnect(); } GUI.color = (TOOL_INDEX == 2) ? new Color(0, .5f, 1, .7f) : Color.white; if (GUILayout.Button(new GUIContent("P"), EditorStyles.toolbarButton, GUILayout.Width(25))) { if (TOOL_INDEX == -1) { TOOL_INDEX = 2; } else { TOOL_INDEX = -1; } SceneView.currentDrawingSceneView.Repaint(); } GUI.color = Color.white; } // GUILayout.Space(10); GUILayout.EndHorizontal(); } //------------------------------------------------------------------- // GEOMETRY _F_geometry = EditorGUILayout.Foldout(_F_geometry, "Edit Geometry"); if (_F_geometry) { //EditorGUILayout.Toggle(false, "Preserve UVs"); GUILayout.BeginHorizontal(); if (GUILayout.Button(new GUIContent("Make Planar"), EditorStyles.toolbarButton)) { if (selection != null && _selectMesh != null) { kPoly.VerticesFlatten(_selectMesh, curPointIndex, E_MODE, P_HELPER, edges, faces); curPointIndex.Clear(); } } GUILayout.Space(5); GUI.color = Color.white; GUI.color = (P_HELPER.x_Axis) ? Color.grey : Color.white; if (GUILayout.Button(new GUIContent("X"), EditorStyles.toolbarButton)) { P_HELPER.x_Axis = !P_HELPER.x_Axis; } GUI.color = Color.white; GUI.color = (P_HELPER.y_Axis) ? Color.grey : Color.white; if (GUILayout.Button(new GUIContent("Y"), EditorStyles.toolbarButton)) { P_HELPER.y_Axis = !P_HELPER.y_Axis; } GUI.color = Color.white; GUI.color = (P_HELPER.z_Axis) ? Color.grey : Color.white; if (GUILayout.Button(new GUIContent("Z"), EditorStyles.toolbarButton)) { P_HELPER.z_Axis = !P_HELPER.z_Axis; } GUI.color = Color.white; GUILayout.EndHorizontal(); } // EditorGUILayout.LabelField("Active Object : " + _selection.name + " Mesh : " + _selectMesh.name); GUILayout.BeginHorizontal(); if (GUILayout.Button(new GUIContent("Clear Verts"), EditorStyles.toolbarButton)) { _verts = null; } // if (GUILayout.Button(new GUIContent("Clear Tris"), EditorStyles.toolbarButton)) tris = null; if (GUILayout.Button(new GUIContent("Clear Edges"), EditorStyles.toolbarButton)) { edges = null; } if (GUILayout.Button(new GUIContent("Clear Faces"), EditorStyles.toolbarButton)) { faces = null; } GUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); GUILayout.Space(10); EditorGUILayout.EndHorizontal(); }
/// <summary> /// Потоковый метод опроса БД для выборки лог-сообщений /// </summary> /// <param name="data">Объект с данными для разборки методом</param> protected override void thread_Proc(object data) { DataTable tableReceived; DateTime dateStart; MODE mode = MODE.UNKNOWN; tableReceived = ((PARAM_THREAD_PROC)data).Table; mode = ((PARAM_THREAD_PROC)data).Mode; switch (mode) { case MODE.LIST_DATE: //перебор значений и добовление их в строку for (int i = 0; i < tableReceived.Rows.Count; i++) { dateStart = (DateTime)tableReceived.Rows [i] ["DATE_TIME"]; //m_tableLog.Rows.Add (new object [] { dateStart, s_ID_LOGMESSAGES [(int)INDEX_LOGMSG.START], ProgramBase.MessageWellcome }); m_listDate.Add(dateStart); } break; case MODE.MESSAGE: m_tableLog = tableReceived.Copy(); break; default: throw new InvalidOperationException($"PanelAnalyzer_DB.LogParse_DB::thread_Proc () - неизвестный режим <{mode.ToString()}>..."); break; } //запрос разбора строки с лог-сообщениями base.thread_Proc(data); }
/// <summary> /// Output the current settings to string. /// </summary> /// <returns>A string representation of the options is output.</returns> public override string ToString() { return("Command Line: -iter:" + m_nIterations.ToString() + " -batch:" + m_nBatch.ToString() + " -steps:" + m_nTimeSteps.ToString() + " -hidden:" + m_nHidden.ToString() + " -dropout:" + m_dfDropout.ToString() + " -lr:" + m_dfLearningRate.ToString() + " -type:" + m_strType + " -newwts:" + m_nNewWeights.ToString() + " -mode:" + m_mode.ToString()); }
public static async Task <bool> Check60(MODE mode) { bool result1 = false; bool result1_temp下限 = false; bool result1_temp上限 = false; bool result2 = false; bool result2_temp下限 = false; bool result2_temp上限 = false; string Data1_temp = ""; string Data2_temp = ""; const int SampleCnt = 3; var List1 = new List <double>(); var List2 = new List <double>(); State.VmTestStatus.TestLog += $" {mode.ToString()} 60℃確認"; //ローカル関数の定義■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ void GetData() { Target.SendData("TEMP"); while (true)//取り込んだ通信データが規定行数(サンプリング数)になるまで待つ { if (Flags.ClickStopButton) { return; } if (General.CountNewline() == SampleCnt + 2) { break; } } Target.Escape(); int offset1; int offset2; if (mode == MODE.PV12) { offset1 = 1; offset2 = 2; } else { offset1 = 3; offset2 = 4; } var log = VmComm.RX; int 検索開始位置 = 0; foreach (var i in Enumerable.Range(0, SampleCnt)) { int FoundIndex = log.IndexOf("TEMP,", 検索開始位置); int 改行位置 = log.IndexOf("\r\n", FoundIndex); var 取り出し1行 = log.Substring(FoundIndex, 改行位置 - FoundIndex); var dataList = 取り出し1行.Split(','); List1.Add(Double.Parse(dataList[offset1])); List2.Add(Double.Parse(dataList[offset2])); 検索開始位置 = FoundIndex + 1; } }; //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ try { await Task.Delay(500); //電源ONする処理 General.PowerSupply(true); if (!General.CheckDemo表示()) { return(false); } General.PlaySound(General.sound123_24); var dialog = new DialogPic("ダイヤル抵抗器を123.24オームに設定してください", DialogPic.NAME.その他, soundSw: false); dialog.ShowDialog(); await Task.Delay(1500); GetData(); General.PowerSupply(false); result1_temp下限 = List1.All(data => data >= State.TestSpec.Temp60_Min); result1_temp上限 = List1.All(data => data <= State.TestSpec.Temp60_Max); result1 = result1_temp下限 && result1_temp上限; result2_temp下限 = List2.All(data => data >= State.TestSpec.Temp60_Min); result2_temp上限 = List2.All(data => data <= State.TestSpec.Temp60_Max); result2 = result2_temp下限 && result2_temp上限; List1.Sort(); if (result1) { Data1_temp = List1[SampleCnt / 2].ToString("F2") + "℃";//中央値 } else { if (!result1_temp下限) { Data1_temp = List1[0].ToString("F2") + "℃";//Min } else { Data1_temp = List1[SampleCnt - 1].ToString("F2") + "℃";//Max } } List2.Sort(); if (result2) { Data2_temp = List2[SampleCnt / 2].ToString("F2") + "℃";//中央値 } else { if (!result2_temp下限) { Data2_temp = List2[0].ToString("F2") + "℃";//Min } else { Data2_temp = List2[SampleCnt - 1].ToString("F2") + "℃";//Max } } return(result1 && result2); } catch { return(false); } finally { State.VmTestStatus.TestLog += result1 && result2? "---PASS\r\n" :"---FAIL\r\n"; General.PowerSupply(false); if (mode == MODE.PV12) { VmTestResults.PV1_123_24 = Data1_temp; VmTestResults.PV2_123_24 = Data2_temp; VmTestResults.ColPV1_123_24 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV2_123_24 = result2 ? OffBrush : NgBrush; } else { VmTestResults.PV3_123_24 = Data1_temp; VmTestResults.PV4_123_24 = Data2_temp; VmTestResults.ColPV3_123_24 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV4_123_24 = result2 ? OffBrush : NgBrush; } } }
public static async Task <bool> SetPT100(MODE mode, POINT point) { var result1 = false; var result2 = false; var strData1 = ""; var strData2 = ""; var mess = ""; var max = 0.0; var min = 0.0; var cmd1 = ""; var cmd2 = ""; State.VmTestStatus.TestLog += $" {mode.ToString()} {point.ToString()}調整"; //ローカル関数の定義■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ string GetData(string command) { General.ClearCommlog(); Target.SendData(command); while (true)//取り込んだ通信データが規定行数(サンプリング数)になるまで待つ { if (Flags.ClickStopButton) { return(null); } if (General.CountNewline() == 2) { break; } } Target.Escape(); Sleep(1000); var log = State.VmComm.RX; int FoundIndex = log.IndexOf(command + ","); int 改行位置 = log.IndexOf("\r\n", FoundIndex); var 取り出し1行 = log.Substring(FoundIndex, 改行位置 - FoundIndex); var dataList = 取り出し1行.Split(','); return(dataList[2].Substring(1));//一文字目がスペースなので削除 }; //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ try { await Task.Delay(500); if (!await CheckComm()) { return(false); } switch (point) { case POINT.FIRST: max = State.TestSpec.PV第一Max; min = State.TestSpec.PV第一Min; mess = "ダイヤル抵抗器を108.96オームに設定してください"; cmd1 = mode == MODE.PV12 ? "PV11" : "PV31"; cmd2 = mode == MODE.PV12 ? "PV21" : "PV41"; General.PlaySound(General.sound108_96); break; case POINT.SECOND: max = State.TestSpec.PV第二Max; min = State.TestSpec.PV第二Min; mess = "ダイヤル抵抗器を149.83オームに設定してください"; cmd1 = mode == MODE.PV12 ? "PV12" : "PV32"; cmd2 = mode == MODE.PV12 ? "PV22" : "PV42"; General.PlaySound(General.sound149_83); break; case POINT.THIRD: max = State.TestSpec.PV第三Max; min = State.TestSpec.PV第三Min; mess = "ダイヤル抵抗器を183.19オームに設定してください"; cmd1 = mode == MODE.PV12 ? "PV13" : "PV33"; cmd2 = mode == MODE.PV12 ? "PV23" : "PV43"; General.PlaySound(General.sound183_19); break; } var dialog = new DialogPic(mess, DialogPic.NAME.その他, soundSw: false); dialog.ShowDialog(); await Task.Delay(4000); await Task.Run(() => { strData1 = GetData(cmd1); strData2 = GetData(cmd2); }); if (strData1 == null || strData2 == null) { return(false); } //第一調整点の調整値が適正な範囲内にあるかチェック int Data1 = Convert.ToInt32(strData1, 16); int Data2 = Convert.ToInt32(strData2, 16); result1 = min < Data1 && Data1 < max; result2 = min < Data2 && Data2 < max; return(result1 && result2); } catch { return(false); } finally { State.VmTestStatus.TestLog += result1 && result2? "---PASS\r\n" :"---FAIL\r\n"; General.PowerSupply(false); if (mode == MODE.PV12) { switch (point) { case POINT.FIRST: VmTestResults.PV1_1 = strData1 + "h"; VmTestResults.PV2_1 = strData2 + "h"; VmTestResults.ColPV1_1 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV2_1 = result2 ? OffBrush : NgBrush; break; case POINT.SECOND: VmTestResults.PV1_2 = strData1 + "h"; VmTestResults.PV2_2 = strData2 + "h"; VmTestResults.ColPV1_2 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV2_2 = result2 ? OffBrush : NgBrush; break; case POINT.THIRD: VmTestResults.PV1_3 = strData1 + "h"; VmTestResults.PV2_3 = strData2 + "h"; VmTestResults.ColPV1_3 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV2_3 = result2 ? OffBrush : NgBrush; break; } } else { switch (point) { case POINT.FIRST: VmTestResults.PV3_1 = strData1 + "h"; VmTestResults.PV4_1 = strData2 + "h"; VmTestResults.ColPV3_1 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV4_1 = result2 ? OffBrush : NgBrush; break; case POINT.SECOND: VmTestResults.PV3_2 = strData1 + "h"; VmTestResults.PV4_2 = strData2 + "h"; VmTestResults.ColPV3_2 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV4_2 = result2 ? OffBrush : NgBrush; break; case POINT.THIRD: VmTestResults.PV3_3 = strData1 + "h"; VmTestResults.PV4_3 = strData2 + "h"; VmTestResults.ColPV3_3 = result1 ? OffBrush : NgBrush; VmTestResults.ColPV4_3 = result2 ? OffBrush : NgBrush; break; } } } }