From 94b6f54779da328dbbe24e281f3463d24f9064a3 Mon Sep 17 00:00:00 2001 From: Luc Vandenbroucke Date: Tue, 1 Mar 2022 09:23:38 +0100 Subject: [PATCH] devcon --- EpdBase/EpdBase.cpp | 1 - eDosStation/DataInterface.cs | 2 +- eDosStation/EntryBadge.xaml.cs | 32 ---------------- eDosStation/MainWindow.xaml.cs | 3 ++ eDosStation/Settings.xaml | 7 +++- eDosStation/Settings.xaml.cs | 28 +++++++------- eDosStation/Station.cs | 8 ++-- eDosStation/devcon.cs | 67 +++++++++++++++++++++++++++++++++ eDosStation/eDosStation.csproj | 29 +++++++------- eDosStation/extra/devcon.exe | Bin 0 -> 100864 bytes eDosStation/packages.config | 8 ++-- 11 files changed, 113 insertions(+), 72 deletions(-) create mode 100644 eDosStation/devcon.cs create mode 100644 eDosStation/extra/devcon.exe diff --git a/EpdBase/EpdBase.cpp b/EpdBase/EpdBase.cpp index da48719..4921bc4 100644 --- a/EpdBase/EpdBase.cpp +++ b/EpdBase/EpdBase.cpp @@ -65,7 +65,6 @@ EpdBase::Epd2U::~Epd2U() EndCom(); } - int EpdBase::Epd2U::StartDiscover( int EpdTimeout) { maxDiscoverTime = EpdTimeout; diff --git a/eDosStation/DataInterface.cs b/eDosStation/DataInterface.cs index a4ad198..9606c2f 100644 --- a/eDosStation/DataInterface.cs +++ b/eDosStation/DataInterface.cs @@ -343,7 +343,7 @@ namespace eDosStation public User GetUser( string CSN, string Code) { User u = new User(); - object[] Values = null; + //object[] Values = null; try { using (var cmd = new SqlCommand("GetPersonInfo", localConnection)) diff --git a/eDosStation/EntryBadge.xaml.cs b/eDosStation/EntryBadge.xaml.cs index 367abcc..07401f6 100644 --- a/eDosStation/EntryBadge.xaml.cs +++ b/eDosStation/EntryBadge.xaml.cs @@ -28,11 +28,9 @@ namespace eDosStation DataSet1.GetTaskInfoRow CurTaskRow; private DateTime ResultTime; enum eCOE { quiz = 1 }; - #if SimulateEPD public SimulateData simulData = new SimulateData(); #endif - public EntryBadge(Station curStation) { InitializeComponent(); @@ -53,14 +51,12 @@ namespace eDosStation _User = null; taskLoading = false; } - private void Ep_EpdTO(EpdBaseClr.Epd2 Sender, EpdBaseClr.EpdTOEventArgs e) { Dispatcher.InvokeAsync(() => { endPage(); }); } - private void Ep_EpdError(EpdBaseClr.Epd2 Sender, EpdBaseClr.EpdErrorEventArgs e) { Dispatcher.InvokeAsync(() => { @@ -68,12 +64,10 @@ namespace eDosStation endPage(); }); } - private void Ep_EpdRead(EpdBaseClr.Epd2 Sender, EpdBaseClr.EpdEventArgs e) { Dispatcher.InvokeAsync(() => GetEPD()); } - private bool LoadDoses() { bool rv = true; @@ -308,7 +302,6 @@ namespace eDosStation } } } - private void GetEPD() { if (ep.DeviceCount == 1 && ep.EpdID> 0) @@ -317,7 +310,6 @@ namespace eDosStation DoEPD(); } } - private void SetFilter(bool isAlara) { dataInterface.stationLog?.WriteLine($"SetFilter Start {DateTime.Now.ToString("HH:mm:ss.fff")}"); @@ -384,7 +376,6 @@ namespace eDosStation } return res.Replace("\\n", "\n"); } - /// /// Get User data /// @@ -457,7 +448,6 @@ namespace eDosStation dataInterface.stationLog?.WriteLine($"ShowUserInfo Stop {DateTime.Now.ToString("HH:mm:ss.fff")}"); return doCancel; } - private void SwitchToTask(object sender, EventArgs e) { if (--UserSeconds > 0 && (_User.AccessAllow != true || !string.IsNullOrEmpty(_User.UserComment) || !string.IsNullOrEmpty(_User.ReasonNoAccess))) @@ -502,19 +492,16 @@ namespace eDosStation { this.Close(); } - private void bClose_Click(object sender, RoutedEventArgs e) { endPage(); } - private void BClear_Click(object sender, RoutedEventArgs e) { CSN.Text = string.Empty; Site.Text = string.Empty; Code.Text = string.Empty; } - private void TaskOK_Click(object sender, RoutedEventArgs e) { @@ -562,7 +549,6 @@ namespace eDosStation } } } - private void CountDown(object sender, EventArgs e) { double v = (ResultTime - DateTime.Now).TotalSeconds; @@ -574,7 +560,6 @@ namespace eDosStation endPage(); } } - private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (taskLoading) return; @@ -602,7 +587,6 @@ namespace eDosStation TaskOK.Content = "OK"; TaskOK.Tag = "O"; } } - private void CbInst1_Click(object sender, RoutedEventArgs e) { Inst1 = (cbInst1.IsChecked == true); @@ -610,7 +594,6 @@ namespace eDosStation bool isAlara = (cbAlara.IsChecked == true); SetFilter(isAlara); } - private void CbAlara_Click(object sender, RoutedEventArgs e) { if (!initialising) @@ -621,7 +604,6 @@ namespace eDosStation SetFilter(isAlara); } } - private void CbNormal_Click(object sender, RoutedEventArgs e) { if (!initialising) @@ -632,7 +614,6 @@ namespace eDosStation SetFilter(isAlara); } } - private void BUserRead_Click(object sender, RoutedEventArgs e) { dispatcherTimer.Stop(); @@ -641,12 +622,10 @@ namespace eDosStation AskTask(); else Close(); } - private void TaskCancel_Click(object sender, RoutedEventArgs e) { Close(); } - private void BTestPerson_Click(object sender, RoutedEventArgs e) { Button b = sender as Button; @@ -659,7 +638,6 @@ namespace eDosStation dfReader?.WaitEnd(); } - private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { try @@ -682,7 +660,6 @@ namespace eDosStation System.Diagnostics.Debug.WriteLine(ex.Message); } } - private void CbInst2_Click(object sender, RoutedEventArgs e) { Inst2 = (cbInst2.IsChecked == true); @@ -690,7 +667,6 @@ namespace eDosStation bool isAlara = (cbAlara.IsChecked == true); SetFilter(isAlara); } - private void AddTestButtons() { StackPanel sp = pTestButtons; @@ -713,7 +689,6 @@ namespace eDosStation sp.Visibility = Visibility.Visible; } - private void Window_Loaded(object sender, RoutedEventArgs e) { initialising = true; @@ -763,22 +738,18 @@ namespace eDosStation } taskLoading = false; } - private void DfReader_BadgeError(LSWDesfirePublic.CCard Sender, LSWDesfirePublic.BadgeErrorEventArgs e) { endPage(); } - private void LeesCancel_Click(object sender, RoutedEventArgs e) { endPage(); } - private void DfReader_BadgeTO(LSWDesfirePublic.CCard Sender, EventArgs e) { this.Dispatcher.InvokeAsync(new Action(() => endPage()),DispatcherPriority.Normal); } - private bool SelectTask(string id_task) { System.Windows.Data.CollectionViewSource getTaskListViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("getTaskListViewSource"))); @@ -791,7 +762,6 @@ namespace eDosStation } else return false; } - private void numPanel_Click(object sender, RoutedEventArgs e) { Button x = sender as Button; @@ -821,7 +791,6 @@ namespace eDosStation break; } } - private void ShowNumpad_Click(object sender, RoutedEventArgs e) { if (numPanel.Visibility != Visibility.Visible) @@ -837,7 +806,6 @@ namespace eDosStation numPanel.Visibility = Visibility.Collapsed; } } - private void DFReader_Badged(LSWDesfirePublic.CCard Sender, LSWDesfirePublic.BadgeEventArgs e) { if (e.PersID > 0) diff --git a/eDosStation/MainWindow.xaml.cs b/eDosStation/MainWindow.xaml.cs index 24cf5d7..9180c3c 100644 --- a/eDosStation/MainWindow.xaml.cs +++ b/eDosStation/MainWindow.xaml.cs @@ -47,6 +47,7 @@ namespace eDosStation simulData = w.simulData; #endif w = null; + if (thisStation.RestartCom) devcon.Restart(); } private void BExit_Click(object sender, RoutedEventArgs e) @@ -57,6 +58,7 @@ namespace eDosStation #endif w.ShowDialog(); w = null; + if (thisStation.RestartCom) devcon.Restart(); } private void MenuItem_Click(object sender, RoutedEventArgs e) @@ -183,6 +185,7 @@ namespace eDosStation { About x = new About(thisStation); x.ShowDialog(); + } private void mExit_Click(object sender, RoutedEventArgs e) diff --git a/eDosStation/Settings.xaml b/eDosStation/Settings.xaml index 0e04bb6..f397c3a 100644 --- a/eDosStation/Settings.xaml +++ b/eDosStation/Settings.xaml @@ -20,6 +20,7 @@ + @@ -53,8 +54,10 @@ - - + + + + diff --git a/eDosStation/Settings.xaml.cs b/eDosStation/Settings.xaml.cs index 22348f8..6fb8705 100644 --- a/eDosStation/Settings.xaml.cs +++ b/eDosStation/Settings.xaml.cs @@ -1,4 +1,5 @@ using System.Collections.ObjectModel; +using System.Text; using System.Windows; namespace eDosStation @@ -59,7 +60,7 @@ namespace eDosStation thisStation.useTestButtons = cbValidation.IsChecked.Value; thisStation.Reader = (string)cbReaders.SelectedValue; thisStation.checkUser = cbCheckUsers.IsChecked != null ? cbCheckUsers.IsChecked.Value : false; - + thisStation.RestartCom = cbRestartCom.IsChecked != null ? cbRestartCom.IsChecked.Value : false; thisStation.EPDTimeOut = int.Parse(tEPDTimeout.Text); thisStation.Update(); this.Close(); @@ -76,7 +77,7 @@ namespace eDosStation private void Window_Loaded(object sender, RoutedEventArgs e) { - + string eDosCom = devcon.FindEdosCom(); try { using (var a = new LSWDesfirePublic.CCard()) @@ -93,10 +94,10 @@ namespace eDosStation try { - foreach (string cn in System.IO.Ports.SerialPort.GetPortNames()) - { - cComPort.Items.Add(cn); - } + foreach (string cn in System.IO.Ports.SerialPort.GetPortNames()) + { + cComPort.Items.Add(cn); + } } catch (System.Exception ex) { @@ -146,6 +147,7 @@ namespace eDosStation tBeep.ItemsSource = beepValues; string thisComport = $"COM{thisStation.ComPort}"; + if (!string.IsNullOrEmpty(eDosCom)) thisComport = eDosCom; if (!cComPort.Items.Contains(thisComport)) cComPort.Items.Add(thisComport); cComPort.SelectedItem = thisComport; @@ -168,13 +170,13 @@ namespace eDosStation } - try { - - tBeep.SelectedValue = thisStation.useBeep; - cbValidation.IsChecked = thisStation.useTestButtons; - cbCheckUsers.IsChecked= thisStation.checkUser; - - tEPDTimeout.Text = thisStation.EPDTimeOut.ToString(); + try + { + tBeep.SelectedValue = thisStation.useBeep; + cbValidation.IsChecked = thisStation.useTestButtons; + cbCheckUsers.IsChecked= thisStation.checkUser; + cbRestartCom.IsChecked = thisStation.RestartCom; + tEPDTimeout.Text = thisStation.EPDTimeOut.ToString(); } catch (System.Exception ex) { diff --git a/eDosStation/Station.cs b/eDosStation/Station.cs index 5dc96b1..3f588ac 100644 --- a/eDosStation/Station.cs +++ b/eDosStation/Station.cs @@ -13,7 +13,6 @@ namespace eDosStation public class Station { private bool doLog; - public System.IO.StreamWriter stationLog=null; public int ID_Station { get; set; } public int ComPort { get; set; } @@ -28,6 +27,7 @@ namespace eDosStation public byte useBeep { get; set; } public bool checkUser { get; internal set; } + public bool RestartCom { get; set; } public int EPDTimeOut { get; internal set; } public int EPDRetries { get; internal set; } public bool Changed = false; @@ -240,12 +240,14 @@ namespace eDosStation cmd.SetIfExists("useBeep", useBeep); cmd.SetIfExists("EPDTimeout", EPDTimeOut); cmd.SetIfExists("EPDRetries", EPDRetries); + cmd.SetIfExists("RestartCom", RestartCom); } catch (System.Exception ex) { - + Error = 1; + ErrorMessage = ex.Message; + if (stationLog != null) stationLog.WriteLine($"GetStationSettings error {ex.Message} {System.DateTime.Now}"); } - } private void UpdateToDb(SqlConnection co, SqlCommand cmd) diff --git a/eDosStation/devcon.cs b/eDosStation/devcon.cs new file mode 100644 index 0000000..912db3f --- /dev/null +++ b/eDosStation/devcon.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace eDosStation +{ + class devcon + { + static private string ExecuteDevcon(string command) + { + StringBuilder sb = new StringBuilder(); + System.Diagnostics.Process p = null; + string curPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "extra"); + string devcon; + + if (System.IO.Directory.Exists(curPath)) + { + devcon = System.IO.Path.Combine(curPath, "devcon.exe"); + if (System.IO.File.Exists(devcon)) + { + try + { + using (p = new System.Diagnostics.Process()) + { + p.StartInfo.WorkingDirectory = curPath; + p.StartInfo.FileName = devcon; + p.StartInfo.Arguments = $"{command} \"USB\\VID_0EBB&PID_0340&MI_00\""; + p.StartInfo.RedirectStandardOutput = true; + p.StartInfo.UseShellExecute = false; + p.Start(); + var i = p.StandardOutput; + while (!i.EndOfStream) + { + sb.AppendLine(i.ReadLine()); + } + p.WaitForExit(); + } + } catch + { + + } + } + } + return sb.ToString(); + } + + static public string FindEdosCom() + { + string eDosCom = null; + try + { + string cp = devcon.ExecuteDevcon("find"); + var ix = cp.IndexOf("(COM"); + if (ix >= 0) eDosCom = cp.Substring(ix + 1, 4); + } + catch { } + return eDosCom; + } + + static public void Restart() + { + string cp = devcon.ExecuteDevcon("restart"); + } + } +} diff --git a/eDosStation/eDosStation.csproj b/eDosStation/eDosStation.csproj index 7edb339..3a71a4d 100644 --- a/eDosStation/eDosStation.csproj +++ b/eDosStation/eDosStation.csproj @@ -1,7 +1,7 @@  - + Debug @@ -112,20 +112,16 @@ 4.0 - ..\lib\RCWPF\2022.1.222.45\Telerik.Windows.Controls.dll - True + ..\packages\Telerik.Windows.Controls.for.Wpf.Xaml.2022.1.222\lib\net45\Telerik.Windows.Controls.dll - ..\lib\RCWPF\2022.1.222.45\Telerik.Windows.Controls.GridView.dll - True + ..\packages\Telerik.Windows.Controls.GridView.for.Wpf.Xaml.2022.1.222\lib\net45\Telerik.Windows.Controls.GridView.dll - ..\lib\RCWPF\2022.1.222.45\Telerik.Windows.Controls.Input.dll - True + ..\packages\Telerik.Windows.Controls.Input.for.Wpf.Xaml.2022.1.222\lib\net45\Telerik.Windows.Controls.Input.dll - ..\lib\RCWPF\2022.1.222.45\Telerik.Windows.Data.dll - True + ..\packages\Telerik.Windows.Data.for.Wpf.Xaml.2022.1.222\lib\net45\Telerik.Windows.Data.dll False @@ -157,6 +153,7 @@ DataSet1.xsd + EntryBadge.xaml @@ -290,6 +287,9 @@ + + Always + Always @@ -326,26 +326,23 @@ {f1f47b79-9930-48b0-8dde-56e2c4bed2a2} EpdBaseClr - - {f98f3496-8a4c-4bdb-9f17-c7af47a60739} - OkReadBadge - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /sha1 857150b64ef7d3e679c8cbde425d2a0b5e58ffaa /fd sha256 /d "Integrity & Authenticity" /tr "http://timestamp.digicert.com" $(TargetPath) - + \ No newline at end of file diff --git a/eDosStation/extra/devcon.exe b/eDosStation/extra/devcon.exe new file mode 100644 index 0000000000000000000000000000000000000000..b08744a757c179e91076c26fb74769daad2d877e GIT binary patch literal 100864 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 - - - - + + + + \ No newline at end of file