private void Button_Click(object sender, RoutedEventArgs e) { Button b = sender as Button; string _tag = b.Tag.ToString(); bool r = false; switch (_tag) { case "test_temperature": { myTesting.ValidateTemperature = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidateTemperature = "Failed"; return; } } //check temperature sensor double sensor_value = 0; r = ProjectTestItem.Is_Sensor_Valid_D <TestingInformation>(myTesting, myTesting.FID, myTesting.FdeviceType, SensorType.Temperature, myTesting.TemperatureValue, myTesting.TemperatureAccuracy, commonRetry, delayRetry, out sensor_value); myTesting.TemperatureActual = sensor_value.ToString(); myTesting.ValidateTemperature = r == true ? "Passed" : "Failed"; break; } case "test_humidity": { myTesting.ValidateHumidity = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidateHumidity = "Failed"; return; } } //check humidity sensor double sensor_value = 0; r = ProjectTestItem.Is_Sensor_Valid_D <TestingInformation>(myTesting, myTesting.FID, myTesting.FdeviceType, SensorType.Humidity, myTesting.HumidityValue, myTesting.HumidityAccuracy, commonRetry, delayRetry, out sensor_value); myTesting.HumidityActual = sensor_value.ToString(); myTesting.ValidateHumidity = r == true ? "Passed" : "Failed"; break; } case "test_ppm": { myTesting.ValidatePPM = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidatePPM = "Failed"; return; } } //check ppm sensor SensorType sensor = SensorType.CO; switch (myTesting.FdeviceType) { case DeviceType.SMH_CO: { sensor = SensorType.CO; break; } case DeviceType.SMH_GAS: { sensor = SensorType.GAS; break; } case DeviceType.SMH_SMOKE: { sensor = SensorType.Smoke; break; } } r = ProjectTestItem.Is_Sensor_Valid_D <TestingInformation>(myTesting, myTesting.FID, myTesting.FdeviceType, sensor, myTesting.PPMValue, myTesting.PPMAccuracy, commonRetry, delayRetry); myTesting.ValidatePPM = r == true ? "Passed" : "Failed"; break; } case "test_usermode": { myTesting.SwitchFirmwareMode = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.SwitchFirmwareMode = "Failed"; return; } } //switch firmware to user mode r = ProjectTestItem.Switch_Firmware_To_User_Mode <TestingInformation>(myTesting, myTesting.FID, myTesting.FdeviceType, myTesting.FirmwareModeValue, commonRetry); myTesting.SwitchFirmwareMode = r == true ? "Passed" : "Failed"; break; } case "led_on": { //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidateLED = "Failed"; return; } } //set led on try { string cmd = string.Format("CHECK,{0},{1},Led_Green_On!", myTesting.FID, myTesting.FdeviceType.ToString().ToUpper()); ProjectTestItem.DUT.WriteLine(cmd); Thread.Sleep(500); this.cbb_LED.IsEnabled = true; } catch { } break; } case "led_off": { //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidateLED = "Failed"; return; } } //set led off try { string cmd = string.Format("CHECK,{0},{1},Led_Red_On!", myTesting.FID, myTesting.FdeviceType.ToString().ToUpper()); ProjectTestItem.DUT.WriteLine(cmd); Thread.Sleep(500); } catch { } break; } case "speaker_on": { //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidateSpeaker = "Failed"; return; } } //set speaker on try { string cmd = string.Format("CHECK,{0},{1},Test_Buzzer_On!", myTesting.FID, myTesting.FdeviceType.ToString().ToUpper()); ProjectTestItem.DUT.WriteLine(cmd); Thread.Sleep(500); this.cbb_Speaker.IsEnabled = true; } catch { } break; } case "speaker_off": { //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myTesting, settinginfo, commonRetry); if (!r) { myTesting.ValidateSpeaker = "Failed"; return; } } //set speaker off try { string cmd = string.Format("CHECK,{0},{1},Test_Buzzer_Off!", myTesting.FID, myTesting.FdeviceType.ToString().ToUpper()); ProjectTestItem.DUT.WriteLine(cmd); Thread.Sleep(500); } catch { } break; } default: break; } }
// private void _RunAll(string id, string sn) { myGlobal.myTesting.StartButtonContent = "STOP"; timer_scrollsystemlog.Start(); Stopwatch st = new Stopwatch(); st.Start(); bool r = false; int comretry = myGlobal.mySetting.CommonRetry; //release device under test if (ProjectTestItem.DUT != null) { ProjectTestItem.DUT = null; } //init control myGlobal.myTesting.initValidating(); myGlobal.myTesting.ID = id; myGlobal.myTesting.SerialNumber = sn; //1 - validate product id if (myGlobal.myTesting.IsVerifyID) { myGlobal.myTesting.ValidateID = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateID = "Failed"; return; } } //validate ID r = ProjectTestItem.Validate_ID_Value_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, comretry, myGlobal.mySetting.DelayRetry); myGlobal.myTesting.ValidateID = r == true ? "Passed" : "Failed"; if (!r) { goto END; } } //2 - validate firmware version if (myGlobal.myTesting.IsVerifyFW) { myGlobal.myTesting.ValidateFirmware = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateFirmware = "Failed"; return; } } //validate firmware version r = ProjectTestItem.Validate_Firmware_Version_Value_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, myGlobal.mySetting.FirmwareVersion, comretry, myGlobal.mySetting.DelayRetry); myGlobal.myTesting.ValidateFirmware = r == true ? "Passed" : "Failed"; if (!r) { goto END; } } //3 - validate model if (myGlobal.myTesting.IsVerifyModel) { myGlobal.myTesting.ValidateModel = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateModel = "Failed"; return; } } //validate model r = ProjectTestItem.Validate_Model_Value_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, myGlobal.mySetting.Model, comretry, myGlobal.mySetting.DelayRetry); myGlobal.myTesting.ValidateModel = r == true ? "Passed" : "Failed"; if (!r) { goto END; } } //4 - write serial number if (myGlobal.myTesting.IsWriteSN) { myGlobal.myTesting.WriteSerialNumber = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.WriteSerialNumber = "Failed"; return; } } //write serial number r = ProjectTestItem.Write_SerialNumber_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, myGlobal.myTesting.SerialNumber, comretry, myGlobal.mySetting.DelayRetry); if (!r) { myGlobal.myTesting.WriteSerialNumber = "Failed"; goto END; } //validate serial number r = ProjectTestItem.Validate_SerialNumber_Value_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, myGlobal.myTesting.SerialNumber, comretry, myGlobal.mySetting.DelayRetry); myGlobal.myTesting.WriteSerialNumber = r == true ? "Passed" : "Failed"; if (!r) { goto END; } } //5 - Validate temperature sensor if (myGlobal.myTesting.IsCheckTemperature) { myGlobal.myTesting.ValidateTemperature = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateTemperature = "Failed"; return; } } //check temperature sensor r = ProjectTestItem.Is_Sensor_Valid_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, SensorType.Temperature, myGlobal.mySetting.TemperatureValue, myGlobal.mySetting.TemperatureAccuracy, comretry, myGlobal.mySetting.DelayRetry); myGlobal.myTesting.ValidateTemperature = r == true ? "Passed" : "Failed"; if (!r) { goto END; } } //6 - Validate humidity sensor if (myGlobal.myTesting.IsCheckHumidity) { myGlobal.myTesting.ValidateHumidity = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateTemperature = "Failed"; return; } } //check humidity sensor r = ProjectTestItem.Is_Sensor_Valid_D <TestingInformation>(myGlobal.myTesting, myGlobal.myTesting.ID, DeviceType.SMH_GAS, SensorType.Humidity, myGlobal.mySetting.HumidityValue, myGlobal.mySetting.HumidityAccuracy, comretry, myGlobal.mySetting.DelayRetry); myGlobal.myTesting.ValidateHumidity = r == true ? "Passed" : "Failed"; if (!r) { goto END; } } //7 - Validate LED if (myGlobal.myTesting.IsCheckLED) { myGlobal.myTesting.ValidateLED = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateTemperature = "Failed"; return; } } //check led Dispatcher.Invoke(new Action(() => { this.Opacity = 0.5; myGlobal.myTesting.LogSystem += string.Format("\r\n+++ KIỂM TRA LED +++\r\n"); SingleLED window = new SingleLED(myGlobal.myTesting.ID, DeviceType.SMH_GAS); window.ShowDialog(); r = window.LedResult == "1"; myGlobal.myTesting.ValidateLED = window.LedResult == "1" ? "Passed" : "Failed"; myGlobal.myTesting.LogSystem += window.LedResult == "1" ? ".........Kết quả: Passed\r\n" : ".........Kết quả: Failed\r\n"; switch (window.LedResult) { case "": { myGlobal.myTesting.LogSystem += ".........Thông tin lỗi: Người thao tác chưa click chọn phán định trạng thái LED.\r\n"; break; } case "1": { break; } case "2": { myGlobal.myTesting.LogSystem += ".........Thông tin lỗi: LED xanh không sáng.\r\n"; break; } case "3": { myGlobal.myTesting.LogSystem += ".........Thông tin lỗi: LED đỏ không sáng.\r\n"; break; } case "4": { myGlobal.myTesting.LogSystem += ".........Thông tin lỗi: Cả 2 LED đều không sáng.\r\n"; break; } } this.Opacity = 1; })); if (!r) { goto END; } } //8 - Validate speaker if (myGlobal.myTesting.IsCheckSpeaker) { myGlobal.myTesting.ValidateSpeaker = "Waiting..."; Thread.Sleep(3000); // //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, comretry); if (!r) { myGlobal.myTesting.ValidateTemperature = "Failed"; return; } } //check speaker Dispatcher.Invoke(new Action(() => { this.Opacity = 0.5; myGlobal.myTesting.LogSystem += string.Format("\r\n+++ KIỂM TRA CÒI BÁO ĐỘNG +++\r\n"); SingleSpeaker window = new SingleSpeaker(myGlobal.myTesting.ID, DeviceType.SMH_GAS); window.ShowDialog(); r = window.SpeakerResult == "1"; myGlobal.myTesting.ValidateSpeaker = window.SpeakerResult == "1" ? "Passed" : "Failed"; myGlobal.myTesting.LogSystem += window.SpeakerResult == "1" ? ".........Kết quả: Passed\r\n" : ".........Kết quả: Failed\r\n"; switch (window.SpeakerResult) { case "": { myGlobal.myTesting.LogSystem += ".........Thông tin lỗi: người thao tác chưa click chọn phán định trạng thái còi báo động.\r\n"; break; } case "1": { break; } case "2": { myGlobal.myTesting.LogSystem += ".........Thông tin lỗi: còi báo động không kêu.\r\n"; break; } } this.Opacity = 1; })); if (!r) { goto END; } } END: st.Stop(); timer_scrollsystemlog.Stop(); myGlobal.myTesting.LogSystem += "\r\n+++ KẾT THÚC KIỂM TRA SẢN PHẨM +++\r\n"; myGlobal.myTesting.LogSystem += string.Format(">>> Tổng thời gian kiểm tra: {0} ms\r\n", String.Format("{0:n0}", st.ElapsedMilliseconds)); myGlobal.myTesting.LogSystem += string.Format(">>> Phán định sản phẩm: {0}\r\n", r == true ? "Passed" : "Failed"); bool ___ = r == true?myGlobal.myTesting.initPassed() : myGlobal.myTesting.initFailed(); myGlobal.myTesting.StartButtonContent = "START"; //close device under test if (ProjectTestItem.DUT != null && ProjectTestItem.DUT.IsConnected == true) { ProjectTestItem.DUT.Close(); } //save log string logdir = string.Format("{0}log", AppDomain.CurrentDomain.BaseDirectory); if (!Directory.Exists(logdir)) { Directory.CreateDirectory(logdir); Thread.Sleep(100); } string pddir = string.Format("{0}\\gasdetector", logdir); if (!Directory.Exists(pddir)) { Directory.CreateDirectory(pddir); Thread.Sleep(100); } string stdir = string.Format("{0}\\asm", pddir); if (!Directory.Exists(stdir)) { Directory.CreateDirectory(stdir); Thread.Sleep(100); } string lgsingle = string.Format("{0}\\logsingle", stdir); if (!Directory.Exists(lgsingle)) { Directory.CreateDirectory(lgsingle); Thread.Sleep(100); } string lgtotal = string.Format("{0}\\logtotal", stdir); if (!Directory.Exists(lgtotal)) { Directory.CreateDirectory(lgtotal); Thread.Sleep(100); } //log single string dedir = string.Format("{0}\\{1}", lgsingle, DateTime.Now.ToString("yyyyMMdd")); if (!Directory.Exists(dedir)) { Directory.CreateDirectory(dedir); Thread.Sleep(100); } string file = string.Format("{0}\\{1}_{2}_{3}_{4}.txt", dedir, DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("HHmmss"), string.IsNullOrEmpty(myGlobal.myTesting.ID) ? "NULL" : myGlobal.myTesting.ID, myGlobal.myTesting.TotalResult); StreamWriter sw = new StreamWriter(file, true, Encoding.Unicode); sw.WriteLine(myGlobal.myTesting.LogSystem); sw.Close(); //log total string _title = "DateTimeCreate,ID,SN,ConfID,ConfFW,ConfModel,WriteSN,Temperature,Humidity,LED,Speaker,Total"; string _content = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), myGlobal.myTesting.ID, myGlobal.myTesting.SerialNumber, myGlobal.myTesting.ValidateID, myGlobal.myTesting.ValidateFirmware, myGlobal.myTesting.ValidateModel, myGlobal.myTesting.WriteSerialNumber, myGlobal.myTesting.ValidateTemperature, myGlobal.myTesting.ValidateHumidity, myGlobal.myTesting.ValidateLED, myGlobal.myTesting.ValidateSpeaker, myGlobal.myTesting.TotalResult); string ft = string.Format("{0}\\{1}.csv", lgtotal, DateTime.Now.ToString("yyyyMMdd")); if (!File.Exists(ft)) { sw = new StreamWriter(ft, true, Encoding.Unicode); sw.WriteLine(_title); } else { sw = new StreamWriter(ft, true, Encoding.Unicode); } sw.WriteLine(_content); sw.Close(); }
// private void _RunAll(string _id) { myGlobal.myTesting.StartButtonContent = "STOP"; timer_scrollsystemlog.Start(); Stopwatch st = new Stopwatch(); st.Start(); bool r = false; //release device under test if (ProjectTestItem.DUT != null) { ProjectTestItem.DUT = null; } //init control myGlobal.myTesting.initValidating(); myGlobal.myTesting.ID = _id; ////1 - Validate LED if (myGlobal.myTesting.IsCheckLED) { myGlobal.myTesting.ValidateLED = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, 10); if (!r) { myGlobal.myTesting.ValidateLED = "Failed"; goto END; } } //check led Dispatcher.Invoke(new Action(() => { this.Opacity = 0.5; myGlobal.myTesting.LogSystem += string.Format("\r\n+++ KIỂM TRA LED +++\r\n"); MultiLED window = new MultiLED(myGlobal.myTesting.ID, DeviceType.SMH_SW3); window.ShowDialog(); r = window.Led1Result && window.Led2Result && window.Led3Result; myGlobal.myTesting.ValidateLED = r ? "Passed" : "Failed"; string msg = string.Format(".........LED1 : {0}\r\n", window.Led1Result); msg += string.Format(".........LED2 : {0}\r\n", window.Led2Result); msg += string.Format(".........LED3 : {0}\r\n", window.Led3Result); myGlobal.myTesting.LogSystem += msg; myGlobal.myTesting.LogSystem += r ? ".........Kết quả: Passed\r\n" : ".........Kết quả: Failed\r\n"; this.Opacity = 1; })); if (!r) { goto END; } } //2 - Validate touch button if (myGlobal.myTesting.IsCheckTouchButton) { myGlobal.myTesting.ValidateTouchButton = "Waiting..."; //check connection between DUT (usb dongle) vs PC if (ProjectTestItem.DUT == null || ProjectTestItem.DUT.IsConnected == false) { r = ProjectTestItem.Open_Device_USB_Dongle(myGlobal.myTesting, myGlobal.mySetting, 10); if (!r) { myGlobal.myTesting.ValidateTouchButton = "Failed"; goto END; } } //check touch button Dispatcher.Invoke(new Action(() => { this.Opacity = 0.5; myGlobal.myTesting.LogSystem += string.Format("\r\n+++ KIỂM TRA NÚT CẢM ỨNG +++\r\n"); MultiTouchButton window = new MultiTouchButton(myGlobal.myTesting.ID); window.ShowDialog(); r = window.TouchResult; myGlobal.myTesting.ValidateTouchButton = r ? "Passed" : "Failed"; string msg = window.Message; myGlobal.myTesting.LogSystem += msg; myGlobal.myTesting.LogSystem += r ? ".........Kết quả: Passed\r\n" : ".........Kết quả: Failed\r\n"; this.Opacity = 1; })); if (!r) { goto END; } } //3 - Validate power switch if (myGlobal.myTesting.IsCheckPowerSwitch) { myGlobal.myTesting.ValidatePowerSwitch = "Waiting..."; //check power switch Dispatcher.Invoke(new Action(() => { this.Opacity = 0.5; myGlobal.myTesting.LogSystem += string.Format("\r\n+++ KIỂM TRA POWER SWITCH +++\r\n"); PowerSwitch window = new PowerSwitch(); window.ShowDialog(); r = window.Lamp1Result && window.Lamp2Result && window.Lamp3Result; string msg = string.Format(".........Power Switch1 : {0}\r\n", window.Lamp1Result); msg += string.Format(".........Power Switch2 : {0}\r\n", window.Lamp2Result); msg += string.Format(".........Power Switch3 : {0}\r\n", window.Lamp3Result); myGlobal.myTesting.LogSystem += msg; myGlobal.myTesting.ValidatePowerSwitch = r ? "Passed" : "Failed"; myGlobal.myTesting.LogSystem += r ? ".........Kết quả: Passed\r\n" : ".........Kết quả: Failed\r\n"; this.Opacity = 1; })); if (!r) { goto END; } } END: st.Stop(); timer_scrollsystemlog.Stop(); myGlobal.myTesting.LogSystem += "\r\n+++ KẾT THÚC KIỂM TRA SẢN PHẨM +++\r\n"; myGlobal.myTesting.LogSystem += string.Format(">>> Tổng thời gian sản phẩm: {0} mili giây\r\n", String.Format("{0:n0}", st.ElapsedMilliseconds)); myGlobal.myTesting.LogSystem += string.Format(">>> Phán định sản phẩm: {0}\r\n", r == true ? "Passed" : "Failed"); bool ___ = r == true?myGlobal.myTesting.initPassed() : myGlobal.myTesting.initFailed(); myGlobal.myTesting.StartButtonContent = "START"; //close device under test if (ProjectTestItem.DUT != null && ProjectTestItem.DUT.IsConnected == true) { ProjectTestItem.DUT.Close(); } //save log string logdir = string.Format("{0}log", AppDomain.CurrentDomain.BaseDirectory); if (!Directory.Exists(logdir)) { Directory.CreateDirectory(logdir); Thread.Sleep(100); } string pddir = string.Format("{0}\\smartswitch", logdir); if (!Directory.Exists(pddir)) { Directory.CreateDirectory(pddir); Thread.Sleep(100); } string stdir = string.Format("{0}\\asm", pddir); if (!Directory.Exists(stdir)) { Directory.CreateDirectory(stdir); Thread.Sleep(100); } string lgsingle = string.Format("{0}\\logsingle", stdir); if (!Directory.Exists(lgsingle)) { Directory.CreateDirectory(lgsingle); Thread.Sleep(100); } string lgtotal = string.Format("{0}\\logtotal", stdir); if (!Directory.Exists(lgtotal)) { Directory.CreateDirectory(lgtotal); Thread.Sleep(100); } //log single string dedir = string.Format("{0}\\{1}", lgsingle, DateTime.Now.ToString("yyyyMMdd")); if (!Directory.Exists(dedir)) { Directory.CreateDirectory(dedir); Thread.Sleep(100); } string file = string.Format("{0}\\{1}_{2}_{3}_{4}.txt", dedir, DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("HHmmss"), string.IsNullOrEmpty(myGlobal.myTesting.ID) ? "NULL" : myGlobal.myTesting.ID, myGlobal.myTesting.TotalResult); StreamWriter sw = new StreamWriter(file, true, Encoding.Unicode); sw.WriteLine(myGlobal.myTesting.LogSystem); sw.Close(); //log total string _title = "DateTimeCreate,ID,LED,TouchButton,PowerSwitch,Total"; string _content = string.Format("{0},{1},{2},{3},{4},{5}", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), myGlobal.myTesting.ID, myGlobal.myTesting.ValidateLED, myGlobal.myTesting.ValidateTouchButton, myGlobal.myTesting.ValidatePowerSwitch, myGlobal.myTesting.TotalResult); string ft = string.Format("{0}\\{1}.csv", lgtotal, DateTime.Now.ToString("yyyyMMdd")); if (!File.Exists(ft)) { sw = new StreamWriter(ft, true, Encoding.Unicode); sw.WriteLine(_title); } else { sw = new StreamWriter(ft, true, Encoding.Unicode); } sw.WriteLine(_content); sw.Close(); }