From 2c6f8b475a2cc5b82357f752f71b0566c8676a91 Mon Sep 17 00:00:00 2001 From: Luc Vandenbroucke Date: Mon, 11 Feb 2019 11:34:52 +0100 Subject: [PATCH] working BG --- EpdBase/EpdBase.cpp | 26 +++++++++++++++-- EpdBaseClr/EpdBaseClr.cpp | 29 +++++++++++++++++-- EpdBaseClr/EpdBaseClr.h | 4 ++- eDos.sln | 2 ++ eDosStation/App.config | 2 +- eDosStation/EntryBadge.xaml.cs | 2 +- eDosStation/EpdExit.xaml.cs | 31 +++++++++++++++++++++ eDosStation/Properties/Settings.Designer.cs | 2 +- eDosStation/Properties/Settings.settings | 2 +- 9 files changed, 89 insertions(+), 11 deletions(-) diff --git a/EpdBase/EpdBase.cpp b/EpdBase/EpdBase.cpp index e4543e8..f18867f 100644 --- a/EpdBase/EpdBase.cpp +++ b/EpdBase/EpdBase.cpp @@ -15,7 +15,7 @@ EpdBase::Epd2U::Epd2U(int comport) EpdBase::Epd2U::~Epd2U() { DeinitComms(port); - SetAutoCommit(0); + } @@ -138,6 +138,9 @@ WORD EpdBase::Epd2U::ReadStatus() Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); return ErrorReason; } + for (int i = 0; i < WearerIDLength; i++) + if (WearerID[i] == 0xb) WearerID[i] = '0'; else WearerID[i] |= 0x30; + } else ReadWearerRV = 4; @@ -263,6 +266,22 @@ WORD EpdBase::Epd2U::ReadDoses() CommitRV = Commit(); if (CommitRV == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); + + ReadCalibrationData( + &K1, + &K2, + &K3, + &K4, + &K5, + &K6, + &SG, + &BC, + &FB, + &HG); + CommitRV = Commit(); + if (CommitRV == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); + + return CommitRV; } @@ -293,7 +312,7 @@ WORD EpdBase::Epd2U::DeIssue() FlushBuffers(port); Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); EndSession(0x5E, 40); return 0; } - + //DeinitComms(port); return CommitRV; } @@ -312,8 +331,8 @@ WORD EpdBase::Epd2U::Issue() if (OKRV) OKRV = Commit(); if (OKRV) OKRV = IssueEpd(WearerID, WearerIDLength); if (OKRV) OKRV = Commit(); - if (OKRV) OKRV = WriteWearerName(WearerName,WearerNameLength); + if (OKRV) OKRV = Commit(); if (OKRV) OKRV = ClearFailFlag(); // all actions have been completed if (OKRV) OKRV = Commit(); @@ -331,6 +350,7 @@ WORD EpdBase::Epd2U::Issue() Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); EndSession(0x5E, 40); } + //DeinitComms(port); return OKRV; } \ No newline at end of file diff --git a/EpdBaseClr/EpdBaseClr.cpp b/EpdBaseClr/EpdBaseClr.cpp index 011aeb2..3b2016f 100644 --- a/EpdBaseClr/EpdBaseClr.cpp +++ b/EpdBaseClr/EpdBaseClr.cpp @@ -42,7 +42,9 @@ int EpdBaseClr::Epd2::Close() int EpdBaseClr::Epd2::GetStatus() { //ReadStatus - StatusRV = 0; Issued = false; WearerName = String::Empty; + StatusRV = 0; Issued = false; + WearerID = String::Empty; + WearerName = String::Empty; epd->ReadStatus(); StatusRV= epd->ReadStatusRV; Issued = epd->EPDIssued; @@ -73,11 +75,24 @@ int EpdBaseClr::Epd2::GetDoses() Hp07 = (double)epd->Hp07Dose / 64.0; Hp07Peak = (double)epd->Hp07Peak / 64.0; Hp10Peak = (double)epd->Hp10Peak / 64.0; + + Hp07Total = epd->Hp07Total / 64.0; + Hp10Total = epd->Hp10Total / 64.0; + } Hp10PeakTime = System::DateTime::Now.AddSeconds(-(epd->Hp10Time - epd->EpdClock)); Hp07PeakTime = System::DateTime::Now.AddSeconds(-(epd->Hp07Time - epd->EpdClock)); + QualityData = epd->QualityData; + K1 = epd->K1; + K2 = epd->K2; + K3 = epd->K3; + K4 = epd->K4; + SG= epd->SG; + BC = epd->SG; + FB = epd->FB; + HG = epd->HG; return ReadDosesRV; } @@ -94,6 +109,10 @@ int EpdBaseClr::Epd2::SetIssued() epd->AlarmDoseHP102G = Hp10THDose1; + epd->Hp07THDose = Hp07THDose; + epd->Hp10THDose1 = Hp10THDose1; + epd->Hp10THDose2 = Hp10THDose2; + epd->Hp10Rate1On = Hp10Rate1On; epd->Hp10Rate2On = Hp10Rate2On; epd->Hp07RateOn = Hp07RateOn; @@ -111,9 +130,10 @@ int EpdBaseClr::Epd2::SetIssued() memset(epd->WearerName, 0, WearerNameLength + 1); char* str2 = (char*)(void*)Runtime::InteropServices::Marshal::StringToHGlobalAnsi(WearerName); - _memccpy(epd->WearerName, str2, strlen(str2), WearerNameLength); + l = strlen(str2); + if (l > WearerNameLength) l = WearerNameLength; + _memccpy(epd->WearerName, str2, l, WearerNameLength); Runtime::InteropServices::Marshal::FreeHGlobal((IntPtr)str2); - epd->Issue(); return 0; @@ -127,6 +147,9 @@ int EpdBaseClr::Epd2::ReadTresholds() Hp10THDose2 = (double)epd->Hp10THDose2 / 64.0; Hp07THDose = (double)epd->Hp07THDose / 64.0; + Hp10Total = (double)epd->Hp10Total / 64.0; + Hp07Total = (double)epd->Hp07Total / 64.0; + Hp10Rate1On = (double)epd->Hp10Rate1On; Hp10Rate2On = (double)epd->Hp10Rate2On ; Hp07RateOn = (double)epd->Hp07RateOn ; diff --git a/EpdBaseClr/EpdBaseClr.h b/EpdBaseClr/EpdBaseClr.h index 5b11851..1ae74db 100644 --- a/EpdBaseClr/EpdBaseClr.h +++ b/EpdBaseClr/EpdBaseClr.h @@ -38,7 +38,8 @@ namespace EpdBaseClr { double Hp10Peak; System::DateTime Hp10PeakTime; System::DateTime Hp07PeakTime; - + double Hp07Total; + double Hp10Total; double alarmHP07; double alarmHP10; @@ -65,6 +66,7 @@ namespace EpdBaseClr { int BC; int FB; int HG; + int QualityData; diff --git a/eDos.sln b/eDos.sln index 229e37c..5f89985 100644 --- a/eDos.sln +++ b/eDos.sln @@ -32,6 +32,7 @@ Global EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {3114A047-7562-42FE-94DE-2418EF19AD9A}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {3114A047-7562-42FE-94DE-2418EF19AD9A}.Debug|Any CPU.Build.0 = Debug|Win32 {3114A047-7562-42FE-94DE-2418EF19AD9A}.Debug|ARM.ActiveCfg = Debug|Win32 {3114A047-7562-42FE-94DE-2418EF19AD9A}.Debug|ARM64.ActiveCfg = Debug|Win32 {3114A047-7562-42FE-94DE-2418EF19AD9A}.Debug|x64.ActiveCfg = Debug|x64 @@ -120,6 +121,7 @@ Global {9B12FDB8-0FD9-4C1E-A904-6FC74C35D50F}.Release|x86.ActiveCfg = Release|Any CPU {9B12FDB8-0FD9-4C1E-A904-6FC74C35D50F}.Release|x86.Build.0 = Release|Any CPU {F1F47B79-9930-48B0-8DDE-56E2C4BED2A2}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {F1F47B79-9930-48B0-8DDE-56E2C4BED2A2}.Debug|Any CPU.Build.0 = Debug|Win32 {F1F47B79-9930-48B0-8DDE-56E2C4BED2A2}.Debug|ARM.ActiveCfg = Debug|Win32 {F1F47B79-9930-48B0-8DDE-56E2C4BED2A2}.Debug|ARM64.ActiveCfg = Debug|Win32 {F1F47B79-9930-48B0-8DDE-56E2C4BED2A2}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/eDosStation/App.config b/eDosStation/App.config index ab3850a..417ea9b 100644 --- a/eDosStation/App.config +++ b/eDosStation/App.config @@ -15,7 +15,7 @@ - 3 + 1 diff --git a/eDosStation/EntryBadge.xaml.cs b/eDosStation/EntryBadge.xaml.cs index 0e81e8b..594e45a 100644 --- a/eDosStation/EntryBadge.xaml.cs +++ b/eDosStation/EntryBadge.xaml.cs @@ -120,7 +120,7 @@ namespace eDosStation cmd1.CommandType = CommandType.StoredProcedure; var pa = new SqlParameter("PersID", SqlDbType.Int, 4); pa.Value = _User.PersID; cmd1.Parameters.Add(pa); pa = new SqlParameter("ID_Task", SqlDbType.Int, 4); pa.Value = CurTaskRow.ID_Task; cmd1.Parameters.Add(pa); - pa = new SqlParameter("ID_EPD", SqlDbType.Int, 4); pa.Value = (int)ep.EpdID; cmd1.Parameters.Add(pa); + pa = new SqlParameter("EPD_InternalID", SqlDbType.Int, 4); pa.Value = (int)ep.EpdID; cmd1.Parameters.Add(pa); pa = new SqlParameter("isBG", SqlDbType.Bit, 4); pa.Value = isBG; cmd1.Parameters.Add(pa); pa = new SqlParameter("ID_Visit", SqlDbType.Int, 4); pa.Direction = ParameterDirection.Output; cmd1.Parameters.Add(pa); co.Open(); diff --git a/eDosStation/EpdExit.xaml.cs b/eDosStation/EpdExit.xaml.cs index f3e0f14..475b80f 100644 --- a/eDosStation/EpdExit.xaml.cs +++ b/eDosStation/EpdExit.xaml.cs @@ -62,6 +62,37 @@ namespace eDosStation var pa = new SqlParameter("ID_Visit", SqlDbType.Int, 4); pa.Value = VisitID; cmd1.Parameters.Add(pa); pa = new SqlParameter("HP07", SqlDbType.Float); pa.Value = ep.Hp07; cmd1.Parameters.Add(pa); pa = new SqlParameter("HP10", SqlDbType.Float); pa.Value = ep.Hp10; cmd1.Parameters.Add(pa); + + pa = new SqlParameter("Hp07Total", SqlDbType.Float); pa.Value = ep.Hp07Total; cmd1.Parameters.Add(pa); + pa = new SqlParameter("Hp10Total", SqlDbType.Float); pa.Value = ep.Hp10Total; cmd1.Parameters.Add(pa); + //pa = new SqlParameter("Hp07Rate", SqlDbType.Float); pa.Value = ep.Hp07Rate; cmd1.Parameters.Add(pa); + //pa = new SqlParameter("Hp10Rate", SqlDbType.Float); pa.Value = ep.Hp10Rate; cmd1.Parameters.Add(pa); + + pa = new SqlParameter("Hp07Peak", SqlDbType.Float); pa.Value = ep.Hp07Peak; cmd1.Parameters.Add(pa); + pa = new SqlParameter("Hp10Peak", SqlDbType.Float); pa.Value = ep.Hp10Peak; cmd1.Parameters.Add(pa); + pa = new SqlParameter("HP07PeakTime", SqlDbType.DateTime); pa.Value = ep.Hp07PeakTime; cmd1.Parameters.Add(pa); + pa = new SqlParameter("HP10PeakTime", SqlDbType.DateTime); pa.Value = ep.Hp10PeakTime; cmd1.Parameters.Add(pa); + + pa = new SqlParameter("K1", SqlDbType.Int); pa.Value = ep.K1; cmd1.Parameters.Add(pa); + pa = new SqlParameter("K2", SqlDbType.Int); pa.Value = ep.K2; cmd1.Parameters.Add(pa); + pa = new SqlParameter("K3", SqlDbType.Int); pa.Value = ep.K3; cmd1.Parameters.Add(pa); + pa = new SqlParameter("K4", SqlDbType.Int); pa.Value = ep.K4; cmd1.Parameters.Add(pa); + pa = new SqlParameter("SG", SqlDbType.Int); pa.Value = ep.SG; cmd1.Parameters.Add(pa); + pa = new SqlParameter("BC", SqlDbType.Int); pa.Value = ep.BC; cmd1.Parameters.Add(pa); + pa = new SqlParameter("FB", SqlDbType.Int); pa.Value = ep.FB; cmd1.Parameters.Add(pa); + pa = new SqlParameter("HG", SqlDbType.Int); pa.Value = ep.HG; cmd1.Parameters.Add(pa); + + pa = new SqlParameter("QualityData", SqlDbType.Int); pa.Value = ep.QualityData; cmd1.Parameters.Add(pa); + + pa = new SqlParameter("alarmStatus", SqlDbType.Int); pa.Value = ep.alarmStatus; cmd1.Parameters.Add(pa); + pa = new SqlParameter("otherAlarms", SqlDbType.Int); pa.Value = ep.otherAlarms; cmd1.Parameters.Add(pa); + pa = new SqlParameter("errorStatus", SqlDbType.Int); pa.Value = ep.errorStatus; cmd1.Parameters.Add(pa); + pa = new SqlParameter("operatingStatus", SqlDbType.Int); pa.Value = ep.operatingStatus; cmd1.Parameters.Add(pa); + + + + + co.Open(); cmd1.ExecuteNonQuery(); co.Close(); diff --git a/eDosStation/Properties/Settings.Designer.cs b/eDosStation/Properties/Settings.Designer.cs index 39910cf..5126567 100644 --- a/eDosStation/Properties/Settings.Designer.cs +++ b/eDosStation/Properties/Settings.Designer.cs @@ -25,7 +25,7 @@ namespace eDosStation.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("3")] + [global::System.Configuration.DefaultSettingValueAttribute("1")] public int comport { get { return ((int)(this["comport"])); diff --git a/eDosStation/Properties/Settings.settings b/eDosStation/Properties/Settings.settings index 6285aab..7ee131f 100644 --- a/eDosStation/Properties/Settings.settings +++ b/eDosStation/Properties/Settings.settings @@ -3,7 +3,7 @@ - 3 + 1 <?xml version="1.0" encoding="utf-16"?>