consolidate less calls
This commit is contained in:
parent
e2150f27f7
commit
1cc3d0602a
10 changed files with 290 additions and 147 deletions
|
|
@ -221,6 +221,10 @@ WORD EpdBase::Epd2U::ReadStatus()
|
|||
}
|
||||
return CommitRV;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns>0 ok</returns>
|
||||
WORD EpdBase::Epd2U::EPDReadExtraStatus()
|
||||
{
|
||||
int rv = 0;
|
||||
|
|
@ -237,7 +241,8 @@ WORD EpdBase::Epd2U::EPDReadExtraStatus()
|
|||
if (CommitRV == 1) CommitRV = Commit();
|
||||
if (CommitRV == 1) CommitRV = ReadBaseCounts(&BaseD1, &BaseD2, &BaseD3, &BaseD4, &BaseCountsClock);
|
||||
if (CommitRV == 1) CommitRV = Commit();
|
||||
if (CommitRV == 0) {
|
||||
if (CommitRV == 1) rv = 0;
|
||||
else {
|
||||
Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
rv = ErrorReason;
|
||||
}
|
||||
|
|
@ -318,6 +323,11 @@ WORD EpdBase::Epd2U::WriteCal()
|
|||
if (CommitRV == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
return CommitRV;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns>0 Success</returns>
|
||||
WORD EpdBase::Epd2U::ReadTresHolds()
|
||||
{
|
||||
if (port == 0) {
|
||||
|
|
@ -351,6 +361,11 @@ WORD EpdBase::Epd2U::ReadTresHolds()
|
|||
if (CommitRV == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
if (CommitRV == 1) return 0; else return 123;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns>0 OK</returns>
|
||||
WORD EpdBase::Epd2U::ReadDoses()
|
||||
{
|
||||
if (port == 0) {
|
||||
|
|
@ -386,8 +401,8 @@ WORD EpdBase::Epd2U::ReadDoses()
|
|||
return 0;
|
||||
}
|
||||
|
||||
TimeFunctions::EPD2PeakTimeToFiletime(EpdClock, Hp10Time, &Hp10FTime);
|
||||
TimeFunctions::EPD2PeakTimeToFiletime(EpdClock, Hp07Time, &Hp07FTime);
|
||||
TimeFunctions::EPD2PeakTimeToFiletime(EpdClock, Hp10Time, (LPFILETIME) &Hp10FTime);
|
||||
TimeFunctions::EPD2PeakTimeToFiletime(EpdClock, Hp07Time, (LPFILETIME) &Hp07FTime);
|
||||
|
||||
CommitRV = Commit();
|
||||
if (CommitRV == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
|
|
@ -405,7 +420,7 @@ WORD EpdBase::Epd2U::ReadDoses()
|
|||
&HG);
|
||||
CommitRV = Commit();
|
||||
if (CommitRV == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
return CommitRV;
|
||||
return CommitRV==1 ? 0 : 1;
|
||||
}
|
||||
WORD EpdBase::Epd2U::PrepareForIssue()
|
||||
{
|
||||
|
|
@ -420,6 +435,11 @@ WORD EpdBase::Epd2U::PrepareForIssue()
|
|||
if (CommitRV) rv = 0; else rv = 1;
|
||||
return rv;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DeIssue and close
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
WORD EpdBase::Epd2U::DeIssue()
|
||||
{
|
||||
int rv = 0;
|
||||
|
|
@ -503,6 +523,28 @@ WORD EpdBase::Epd2U::Issue()
|
|||
return rv;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int EpdBase::Epd2U::GetAllDeissue()
|
||||
{
|
||||
int rv = 0;
|
||||
rv = ReadDoses(); //0 = success
|
||||
//rv = ReadTresHolds(); //tresholds not needed, only doses
|
||||
rv = EPDReadExtraStatus();
|
||||
rv = DeIssue(); //does close
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
int EpdBase::Epd2U::GetAll(bool Closeconnection)
|
||||
{
|
||||
int rv = 0;
|
||||
rv = ReadDoses(); //0 = success
|
||||
rv = ReadTresHolds(); //0 = success Tresholds needed
|
||||
if (Closeconnection) Close();
|
||||
return rv;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// discover, connect and read status
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ namespace EpdBase
|
|||
DWORD Hp07Peak;
|
||||
DWORD Hp10Time;
|
||||
DWORD Hp07Time;
|
||||
FILETIME Hp10FTime , Hp07FTime;
|
||||
long long Hp10FTime , Hp07FTime;
|
||||
|
||||
|
||||
//AlarmDoseTreshold
|
||||
|
|
@ -231,6 +231,8 @@ namespace EpdBase
|
|||
|
||||
WORD DeIssue();
|
||||
WORD Issue();
|
||||
int GetAll(bool Close);
|
||||
int GetAllDeissue();
|
||||
~Epd2U();
|
||||
|
||||
int ConnectAndStatus(int tokenSourceTimeout);
|
||||
|
|
|
|||
|
|
@ -81,11 +81,14 @@ void TimeFunctions::UnixTimeToFileTime(time_t t, LPFILETIME pft)
|
|||
}
|
||||
|
||||
void TimeFunctions::EPD2PeakTimeToFiletime(DWORD EpdClock, DWORD EpdPeakTime, FILETIME *PeakFileTime ) {
|
||||
if (EpdPeakTime != 0xCDCDCDCD) {
|
||||
UINT32 tm = EpdClock - EpdPeakTime;
|
||||
GetSystemTimeAsFileTime(&lu.FT);
|
||||
lu.LL -= UInt32x32To64(tm, 10000000);
|
||||
*PeakFileTime = lu.FT;
|
||||
}
|
||||
if (EpdPeakTime != 0xCDCDCDCD) {
|
||||
UINT32 tm = EpdClock - EpdPeakTime;
|
||||
GetSystemTimeAsFileTime(&lu.FT);
|
||||
lu.LL -= UInt32x32To64(tm, 10000000);
|
||||
*PeakFileTime = lu.FT;
|
||||
}
|
||||
else {
|
||||
(*PeakFileTime).dwLowDateTime = (*PeakFileTime).dwHighDateTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -344,6 +344,11 @@ int Epd3Base::Epd3U::ConnectAndStatus(int tokenSourceTimeout)
|
|||
else rv = 0;
|
||||
return rv;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// K1 = K2 = K3 = K4 = K4 = K6 (*100000 )
|
||||
/// </summary>
|
||||
/// <param name="count"></param>
|
||||
void Epd3Base::Epd3U::decodeSensitivities(int count) {
|
||||
|
||||
K1 = K2 = K3 = K4 = K4 = K6 = 0.0F;
|
||||
|
|
@ -388,6 +393,7 @@ void Epd3Base::Epd3U::decodeDoses(int count)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Epd3Base::Epd3U::decodePeakRates(int count)
|
||||
{
|
||||
//Rates
|
||||
|
|
@ -402,14 +408,14 @@ void Epd3Base::Epd3U::decodePeakRates(int count)
|
|||
case MeasurementId::Meas_Hp10N:
|
||||
Hp07Peak = peakRates[ix].value;
|
||||
Hp07Time = peakRates[ix].timestamp;
|
||||
TimeFunctions::EpdTimeToFileTime(Hp07Time, &Hp07FTime, false);
|
||||
TimeFunctions::EpdTimeToFileTime(Hp07Time, (LPFILETIME)&Hp07FTime, false);
|
||||
//FileTimeToSystemTime(&Hp07FTime, &st07);
|
||||
break;
|
||||
case MeasurementId::Meas_Hp10:
|
||||
case MeasurementId::Meas_Hp10G:
|
||||
Hp10Peak = peakRates[ix].value;
|
||||
Hp10Time = peakRates[ix].timestamp;
|
||||
TimeFunctions::EpdTimeToFileTime(Hp10Time, &Hp10FTime, false);
|
||||
TimeFunctions::EpdTimeToFileTime(Hp10Time, (LPFILETIME)&Hp10FTime, false);
|
||||
//FileTimeToSystemTime(&Hp10FTime, &st10);
|
||||
break;
|
||||
}
|
||||
|
|
@ -514,6 +520,11 @@ void Epd3Base::Epd3U::encodeTreshold(Mk3AlarmThresholds_t* th)
|
|||
th->Thresholds[3].Id = (uint16_t)ThresholdId::Thres_RateWarning;
|
||||
th->Thresholds[3].Value = *pTHRateWarning;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// HG, SG, BC, FB, BC, FB
|
||||
/// </summary>
|
||||
/// <param name="numdTresholds"></param>
|
||||
void Epd3Base::Epd3U::decodedTresholds(int numdTresholds)
|
||||
{
|
||||
for (int ix = 0; ix < numdTresholds; ix++) {
|
||||
|
|
@ -524,14 +535,12 @@ void Epd3Base::Epd3U::decodedTresholds(int numdTresholds)
|
|||
case CounterType::Counter_Fb1: FB = dTresholds[ix].value; break;
|
||||
case CounterType::Counter_An1: BC = dTresholds[ix].value; break; //AN-> BC
|
||||
case CounterType::Counter_Fn2: FB = dTresholds[ix].value; break; //FN->FB
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// K1 .. K6, SG , BC ,FB , HG
|
||||
/// </summary>
|
||||
/// <returns>0 OK</returns>
|
||||
WORD Epd3Base::Epd3U::ReadSensitivitiesAndTresholds()
|
||||
|
|
@ -549,11 +558,8 @@ WORD Epd3Base::Epd3U::ReadSensitivitiesAndTresholds()
|
|||
uint16_t FBthresh;
|
||||
uint16_t HGthresh;
|
||||
|
||||
//ResetEvent(Ev1);
|
||||
//token = BeginReadDoses(epdComsHandle, new uint8_t[]{ 0, 1 }, 2 , completion);
|
||||
token = BeginReadCalibrationData_R2(epdComsHandle, nullptr);
|
||||
r = Commit3(epdComsHandle);
|
||||
//r = WaitForSingleObject(Ev1, 10000); // no time-out interval
|
||||
r = EndReadCalibrationData_R2(epdComsHandle, token,
|
||||
&HGSens10,
|
||||
&SGSens10,
|
||||
|
|
@ -578,30 +584,27 @@ WORD Epd3Base::Epd3U::ReadSensitivitiesAndTresholds()
|
|||
HG = HGthresh;
|
||||
}
|
||||
else {
|
||||
|
||||
token = BeginReadDetectorThresholds_R3(epdComsHandle, nullptr, 0, nullptr);
|
||||
r = Commit3(epdComsHandle);
|
||||
r = EndReadDetectorThresholds_R3(epdComsHandle, token, dTresholds, MaxTresholds, &numTresholds);
|
||||
if (r != 0)
|
||||
goto error;
|
||||
|
||||
decodedTresholds(numTresholds);
|
||||
|
||||
decodedTresholds(numTresholds); // HG, SG, BC, FB, BC, FB
|
||||
|
||||
token = BeginReadSensitivities(epdComsHandle, nullptr, 0, nullptr);
|
||||
r = Commit3(epdComsHandle);
|
||||
r = EndReadSensitivities(epdComsHandle, token, sensitivities, MaxSensitivities, &numSensitivities);
|
||||
if (r != 0)
|
||||
goto error;
|
||||
|
||||
decodeSensitivities(numSensitivities);
|
||||
decodeSensitivities(numSensitivities); // K1 = K2 = K3 = K4 = K4 = K6
|
||||
}
|
||||
return r;
|
||||
error:
|
||||
return r;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Doses, totDoses, Knocks + Resets , PeakRates, SensitivitiesAndTresholds: K1 .. K6, SG , BC ,FB , HG
|
||||
/// </summary>
|
||||
/// <returns>0 OK</returns>
|
||||
WORD Epd3Base::Epd3U::ReadDoses()
|
||||
|
|
@ -636,7 +639,6 @@ WORD Epd3Base::Epd3U::ReadDoses()
|
|||
r = EndReadTotalDoses(epdComsHandle, token, totdoses, MaxDoses, &numtotDoses, &utc);
|
||||
if (r != 0)
|
||||
goto error;
|
||||
|
||||
decodetotDoses(numtotDoses);
|
||||
|
||||
token = BeginReadQualityData(epdComsHandle, nullptr);
|
||||
|
|
@ -644,7 +646,6 @@ WORD Epd3Base::Epd3U::ReadDoses()
|
|||
r = EndReadQualityData(epdComsHandle, token, &quality);
|
||||
if (r != 0)
|
||||
goto error;
|
||||
|
||||
Knocks = quality.Knocks;
|
||||
Resets = quality.PowerCycles;
|
||||
|
||||
|
|
@ -653,10 +654,10 @@ WORD Epd3Base::Epd3U::ReadDoses()
|
|||
r = EndReadPeakRates(epdComsHandle, token, peakRates, MaxPeakRates, &numRates);
|
||||
if (r != 0)
|
||||
goto error;
|
||||
|
||||
decodePeakRates(numRates);
|
||||
|
||||
r= ReadSensitivitiesAndTresholds();
|
||||
r= ReadSensitivitiesAndTresholds(); //K1 .. K6, SG , BC ,FB , HG
|
||||
|
||||
if (r != 0)
|
||||
goto error;
|
||||
|
||||
|
|
@ -744,31 +745,26 @@ WORD Epd3Base::Epd3U::ReadAlarmConfig() {
|
|||
}
|
||||
WORD Epd3Base::Epd3U::ReadAlarmTresholds() {
|
||||
//Alleen MK3 ? leeg bij MK2
|
||||
|
||||
bool isNeutron = (EpdType == EpdTypes::Mk2Neutron || EpdType == EpdTypes::Mk3Neutron);
|
||||
uint8_t measID;
|
||||
uint32_t r;
|
||||
|
||||
SetResponseTimeout(epdComsHandle, 2000);
|
||||
|
||||
if (isNeutron) measID = (uint8_t)MeasurementId::Meas_Hp10N; else measID = (uint8_t)MeasurementId::Meas_Hp07;
|
||||
|
||||
SetResponseTimeout(epdComsHandle, 2000);
|
||||
//ResetEvent(Ev1);
|
||||
hp07tresholds.MeasId = measID;
|
||||
token = BeginReadAlarmThresholds(epdComsHandle, (uint8_t)hp07tresholds.MeasId, nullptr, 0, nullptr);
|
||||
r = Commit3(epdComsHandle);
|
||||
//r = WaitForSingleObject(Ev1, 10000); // no time-out interval
|
||||
r = EndReadAlarmThresholds(epdComsHandle, token, &hp07tresholds);
|
||||
decodeTreshold(&hp07tresholds);
|
||||
|
||||
if (isNeutron) measID = (uint8_t)MeasurementId::Meas_Hp10G; else measID = (uint8_t)MeasurementId::Meas_Hp10;
|
||||
hp10tresholds.MeasId = 0;
|
||||
//ResetEvent(Ev1);
|
||||
hp10tresholds.MeasId = measID;
|
||||
token = BeginReadAlarmThresholds(epdComsHandle, (uint8_t)hp10tresholds.MeasId, nullptr, 0, nullptr);
|
||||
r = Commit3(epdComsHandle);
|
||||
//r = WaitForSingleObject(Ev1, 10000); // no time-out interval
|
||||
r = EndReadAlarmThresholds(epdComsHandle, token, &hp10tresholds);
|
||||
decodeTreshold(&hp10tresholds);
|
||||
|
||||
return r;
|
||||
}
|
||||
WORD Epd3Base::Epd3U::WriteAlarmTresholds() {
|
||||
|
|
@ -879,7 +875,6 @@ WORD Epd3Base::Epd3U::WriteWearer() {
|
|||
error:
|
||||
return r;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
|
@ -998,4 +993,22 @@ WORD Epd3Base::Epd3U::WriteCal()
|
|||
return r;
|
||||
error:
|
||||
return r;
|
||||
}
|
||||
int Epd3Base::Epd3U::GetAll(bool Closeconnection)
|
||||
{
|
||||
int rv = 0;
|
||||
rv = ReadDoses();
|
||||
rv = ReadAlarmTresholds();
|
||||
if (Closeconnection) EndCom();
|
||||
return rv;
|
||||
}
|
||||
|
||||
int Epd3Base::Epd3U::GetAllDeissue()
|
||||
{
|
||||
int rv = 0;
|
||||
rv = ReadDoses(); //0 = success
|
||||
//rv = ReadAlarmTresholds(); //0 = success
|
||||
rv = EPDReadExtraStatus();
|
||||
rv = DeIssue(); //does close
|
||||
return rv;
|
||||
}
|
||||
|
|
@ -129,8 +129,7 @@ namespace Epd3Base {
|
|||
float Hp07Peak;
|
||||
DWORD Hp10Time;
|
||||
DWORD Hp07Time;
|
||||
FILETIME Hp10FTime,Hp07FTime;
|
||||
|
||||
long long Hp10FTime,Hp07FTime;
|
||||
|
||||
|
||||
//AlarmDoseTreshold
|
||||
|
|
@ -225,6 +224,8 @@ namespace Epd3Base {
|
|||
|
||||
|
||||
public:
|
||||
int GetAll(bool Closeconnection);
|
||||
int GetAllDeissue();
|
||||
WORD ReadSensitivitiesAndTresholds();
|
||||
WORD ReadDoses();
|
||||
int ClearDoses();
|
||||
|
|
@ -240,6 +241,7 @@ namespace Epd3Base {
|
|||
WORD Issue();
|
||||
WORD EPDReadExtraStatus();
|
||||
WORD WriteCal();
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -85,5 +85,8 @@ void TimeFunctions::UnixTimeToFileTime(time_t t, LPFILETIME pft)
|
|||
GetSystemTimeAsFileTime(&lu.FT);
|
||||
lu.LL -= UInt32x32To64(tm, 10000000);
|
||||
*PeakFileTime = lu.FT;
|
||||
} else
|
||||
{
|
||||
(*PeakFileTime).dwLowDateTime = (*PeakFileTime).dwHighDateTime = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -226,35 +226,45 @@ int EpdBaseClr::Epd2::GetDoses(EpdBase::Epd2U* epd)
|
|||
int rv = 1;
|
||||
Hp10 = Hp07 = 0.0;
|
||||
ReadDosesRV = epd->ReadDoses();
|
||||
|
||||
if (ReadDosesRV == 1) {
|
||||
rv = 0;
|
||||
GetDosesError = 0;
|
||||
Hp10 = (double)epd->Hp10Dose / 64.0;
|
||||
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;
|
||||
rv = AfterGetDoses(epd);
|
||||
}
|
||||
else {
|
||||
rv = 1;
|
||||
GetDosesError = epd->Error;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
if (epd->Hp10Time > 0) {
|
||||
double x = (epd->EpdClock - epd->Hp10Time) * -1.0;
|
||||
Hp10PeakTime = System::DateTime::Now.AddSeconds(x);
|
||||
int EpdBaseClr::Epd2::AfterGetDoses(Epd3Base::Epd3U* epd)
|
||||
{
|
||||
int rv = 0;
|
||||
rv = 0;
|
||||
GetDosesError = 0;
|
||||
Hp10 = (double)epd->Hp10Dose;
|
||||
Hp07 = (double)epd->Hp07Dose;
|
||||
Hp07Peak = (double)epd->Hp07Peak;
|
||||
Hp10Peak = (double)epd->Hp10Peak;
|
||||
|
||||
Hp07Total = epd->Hp07Total;
|
||||
Hp10Total = epd->Hp10Total;
|
||||
|
||||
if (epd->Hp10FTime != 0) {
|
||||
//seconds since 2000 ?
|
||||
//double x = (epd->EpdClock - epd->Hp10Time) * -1.0;
|
||||
Hp10PeakTime = System::DateTime::FromFileTime(epd->Hp10FTime);
|
||||
//Hp10PeakTime = Jan2000->AddSeconds(epd->Hp10Time);
|
||||
}
|
||||
else
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();;
|
||||
if (epd->Hp07Time > 0) {
|
||||
double x = (epd->EpdClock - epd->Hp07Time) * -1.0;
|
||||
Hp07PeakTime = System::DateTime::Now.AddSeconds(x);
|
||||
|
||||
if (epd->Hp07FTime != 0) {
|
||||
//double x = (epd->EpdClock - epd->Hp07Time) * -1.0;
|
||||
Hp07PeakTime = System::DateTime::FromFileTime(epd->Hp07FTime);
|
||||
//Hp07PeakTime = Jan2000->AddSeconds(epd->Hp07Time);
|
||||
}
|
||||
else
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();
|
||||
Hp07PeakTime = System::Nullable<System::DateTime>();
|
||||
|
||||
QualityData = epd->QualityData;
|
||||
K1 = epd->K1;
|
||||
|
|
@ -281,46 +291,12 @@ int EpdBaseClr::Epd2::GetDoses(Epd3Base::Epd3U* epd)
|
|||
int ReadDosesRV = epd->ReadDoses();
|
||||
|
||||
if (ReadDosesRV == 0) {
|
||||
rv = 0;
|
||||
GetDosesError = 0;
|
||||
Hp10 = (double)epd->Hp10Dose;
|
||||
Hp07 = (double)epd->Hp07Dose;
|
||||
Hp07Peak = (double)epd->Hp07Peak;
|
||||
Hp10Peak = (double)epd->Hp10Peak;
|
||||
|
||||
Hp07Total = epd->Hp07Total;
|
||||
Hp10Total = epd->Hp10Total;
|
||||
}
|
||||
rv = AfterGetDoses(epd3);
|
||||
}
|
||||
else {
|
||||
rv = 1;
|
||||
GetDosesError = epd->Error;
|
||||
}
|
||||
|
||||
if (epd->Hp10Time > 0) {
|
||||
//seconds since 2000 ?
|
||||
//double x = (epd->EpdClock - epd->Hp10Time) * -1.0;
|
||||
Hp10PeakTime = Jan2000->AddSeconds(epd->Hp10Time);
|
||||
}
|
||||
else
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();;
|
||||
if (epd->Hp07Time > 0) {
|
||||
//double x = (epd->EpdClock - epd->Hp07Time) * -1.0;
|
||||
Hp07PeakTime = Jan2000->AddSeconds(epd->Hp07Time);
|
||||
}
|
||||
else
|
||||
Hp07PeakTime = System::Nullable<System::DateTime>();
|
||||
|
||||
QualityData = epd->QualityData;
|
||||
K1 = epd->K1;
|
||||
K2 = epd->K2;
|
||||
K3 = epd->K3;
|
||||
K4 = epd->K4;
|
||||
K5 = epd->K5;
|
||||
K6 = epd->K6;
|
||||
SG = epd->SG;
|
||||
BC = epd->SG;
|
||||
FB = epd->FB;
|
||||
HG = epd->HG;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
@ -488,6 +464,36 @@ int EpdBaseClr::Epd2::ReadTresholds()
|
|||
rv = ReadTresholds(epd);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
int EpdBaseClr::Epd2::AfterReadTresholds(EpdBase::Epd2U* epd)
|
||||
{
|
||||
int rv = 0;
|
||||
Hp10THDose1 = (double)epd->Hp10THDose1 / 64.0;
|
||||
Hp10THDose2 = (double)epd->Hp10THDose2 / 64.0;
|
||||
Hp07THDose = (double)epd->Hp07THDose / 64.0;
|
||||
|
||||
Hp10Rate1On = (double)epd->Hp10Rate1On;
|
||||
Hp10Rate2On = (double)epd->Hp10Rate2On;
|
||||
Hp07RateOn = (double)epd->Hp07RateOn;
|
||||
Hp10Rate1Off = (double)epd->Hp10Rate1Off;
|
||||
Hp10Rate2Off = (double)epd->Hp10Rate2Off;
|
||||
Hp07RateOff = (double)epd->Hp07RateOff;
|
||||
|
||||
K1 = epd->K1;
|
||||
K2 = epd->K2;
|
||||
K3 = epd->K3;
|
||||
K4 = epd->K4;
|
||||
K5 = epd->K5;
|
||||
K6 = epd->K6;
|
||||
SG = epd->SG;
|
||||
BC = epd->BC;
|
||||
FB = epd->FB;
|
||||
HG = epd->HG;
|
||||
|
||||
return rv;
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
|
@ -498,14 +504,18 @@ int EpdBaseClr::Epd2::ReadTresholds(EpdBase::Epd2U* epd)
|
|||
ReadTresholdsError = 0;
|
||||
int rv = epd->ReadTresHolds();
|
||||
if (rv != 0) ReadTresholdsError = epd->Error;
|
||||
rv = AfterReadTresholds(epd);
|
||||
return rv;
|
||||
}
|
||||
|
||||
Hp10THDose1 = (double)epd->Hp10THDose1 / 64.0;
|
||||
Hp10THDose2 = (double)epd->Hp10THDose2 / 64.0;
|
||||
Hp07THDose = (double)epd->Hp07THDose / 64.0;
|
||||
|
||||
Hp10Total = (double)epd->Hp10Total / 64.0;
|
||||
Hp07Total = (double)epd->Hp07Total / 64.0;
|
||||
int EpdBaseClr::Epd2::AfterReadTresholds(Epd3Base::Epd3U* epd)
|
||||
{
|
||||
int rv = 0;
|
||||
Hp10THDose1 = (double)epd->Hp10THDose1;
|
||||
Hp10THDose2 = (double)epd->Hp10THDose2;
|
||||
Hp07THDose = (double)epd->Hp07THDose;
|
||||
|
||||
|
||||
Hp10Rate1On = (double)epd->Hp10Rate1On;
|
||||
Hp10Rate2On = (double)epd->Hp10Rate2On;
|
||||
Hp07RateOn = (double)epd->Hp07RateOn;
|
||||
|
|
@ -513,6 +523,11 @@ int EpdBaseClr::Epd2::ReadTresholds(EpdBase::Epd2U* epd)
|
|||
Hp10Rate2Off = (double)epd->Hp10Rate2Off;
|
||||
Hp07RateOff = (double)epd->Hp07RateOff;
|
||||
|
||||
|
||||
Hp10Total = (double)epd->Hp10Total;
|
||||
Hp07Total = (double)epd->Hp07Total;
|
||||
|
||||
|
||||
K1 = epd->K1;
|
||||
K2 = epd->K2;
|
||||
K3 = epd->K3;
|
||||
|
|
@ -538,32 +553,7 @@ int EpdBaseClr::Epd2::ReadTresholds(Epd3Base::Epd3U* epd)
|
|||
rv= epd->ReadAlarmTresholds();
|
||||
rv = epd->ReadSensitivitiesAndTresholds();
|
||||
if (rv != 0) ReadTresholdsError = epd->Error;
|
||||
|
||||
Hp10THDose1 = (double)epd->Hp10THDose1 ;
|
||||
Hp10THDose2 = (double)epd->Hp10THDose2 ;
|
||||
Hp07THDose = (double)epd->Hp07THDose ;
|
||||
|
||||
Hp10Total = (double)epd->Hp10Total ;
|
||||
Hp07Total = (double)epd->Hp07Total ;
|
||||
|
||||
Hp10Rate1On = (double)epd->Hp10Rate1On;
|
||||
Hp10Rate2On = (double)epd->Hp10Rate2On ;
|
||||
Hp07RateOn = (double)epd->Hp07RateOn ;
|
||||
Hp10Rate1Off = (double)epd->Hp10Rate1Off ;
|
||||
Hp10Rate2Off = (double)epd->Hp10Rate2Off ;
|
||||
Hp07RateOff = (double)epd->Hp07RateOff ;
|
||||
|
||||
K1 = epd->K1;
|
||||
K2 = epd->K2;
|
||||
K3 = epd->K3;
|
||||
K4 = epd->K4;
|
||||
K5 = epd->K5;
|
||||
K6 = epd->K6;
|
||||
SG = epd->SG;
|
||||
BC = epd->BC;
|
||||
FB = epd->FB;
|
||||
HG = epd->HG;
|
||||
|
||||
rv = AfterReadTresholds(epd);
|
||||
return rv;
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -607,6 +597,96 @@ int EpdBaseClr::Epd2::ReadExtraStatus(Epd3Base::Epd3U* epd)
|
|||
|
||||
return rv;
|
||||
}
|
||||
|
||||
int EpdBaseClr::Epd2::AfterGetDoses(EpdBase::Epd2U* epd)
|
||||
{
|
||||
int rv = 0;
|
||||
GetDosesError = 0;
|
||||
Hp10 = (double)epd->Hp10Dose / 64.0;
|
||||
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;
|
||||
|
||||
if (epd->Hp10FTime != 0) {
|
||||
try {
|
||||
Hp10PeakTime = System::DateTime::FromFileTime(epd->Hp10FTime);
|
||||
}
|
||||
catch (System::Exception^ ex) {
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();
|
||||
}
|
||||
//double x = (epd->EpdClock - epd->Hp10Time) * -1.0;
|
||||
//Hp10PeakTime = System::DateTime::Now.AddSeconds(x);
|
||||
}
|
||||
else
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();
|
||||
if (epd->Hp07FTime != 0) {
|
||||
try {
|
||||
Hp07PeakTime = System::DateTime::FromFileTime(epd->Hp07FTime);
|
||||
}
|
||||
catch (System::Exception^ ex) {
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();
|
||||
}
|
||||
//double x = (epd->EpdClock - epd->Hp07Time) * -1.0;
|
||||
//Hp07PeakTime = System::DateTime::Now.AddSeconds(x);
|
||||
}
|
||||
else
|
||||
Hp10PeakTime = System::Nullable<System::DateTime>();
|
||||
|
||||
QualityData = epd->QualityData;
|
||||
K1 = epd->K1;
|
||||
K2 = epd->K2;
|
||||
K3 = epd->K3;
|
||||
K4 = epd->K4;
|
||||
K5 = epd->K5;
|
||||
K6 = epd->K6;
|
||||
SG = epd->SG;
|
||||
BC = epd->SG;
|
||||
FB = epd->FB;
|
||||
HG = epd->HG;
|
||||
return rv;
|
||||
}
|
||||
/// <summary>
|
||||
/// Get Doses and tresholds, and close if requested
|
||||
/// </summary>
|
||||
/// <param name="close"></param>
|
||||
/// <returns></returns>
|
||||
int EpdBaseClr::Epd2::GetAll(bool close)
|
||||
{
|
||||
int rv = 0;
|
||||
if (!isMK3) {
|
||||
rv = epd->GetAll(close);
|
||||
rv = AfterGetDoses(epd);
|
||||
rv = AfterReadTresholds(epd);
|
||||
}
|
||||
else
|
||||
{
|
||||
rv = epd3->GetAll(close);
|
||||
rv = AfterGetDoses(epd3);
|
||||
rv = AfterReadTresholds(epd3);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
int EpdBaseClr::Epd2::GetAllDeissue()
|
||||
{
|
||||
int rv = 0;
|
||||
if (!isMK3) {
|
||||
rv = epd->GetAllDeissue();
|
||||
rv = AfterGetDoses(epd);
|
||||
rv = AfterReadTresholds(epd);
|
||||
}
|
||||
else
|
||||
{
|
||||
rv = epd3->GetAllDeissue();
|
||||
rv = AfterGetDoses(epd3);
|
||||
rv = AfterReadTresholds(epd3);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
int EpdBaseClr::Epd2::SwitchCon()
|
||||
{
|
||||
int rv = 0;
|
||||
|
|
@ -682,7 +762,8 @@ void EpdBaseClr::Epd2::WaitEpd()
|
|||
rv = 2;
|
||||
}*/
|
||||
if (rv == 0) {
|
||||
if (_EpdRead != nullptr) _EpdRead(this, gcnew EpdEventArgs(EpdID, EPDIssued, isBG, isMK3));
|
||||
if (_EpdRead != nullptr)
|
||||
_EpdRead(this, gcnew EpdEventArgs(EpdID, EPDIssued, isBG, isMK3));
|
||||
}
|
||||
else if (rv == 2 && _EpdTO != nullptr) {
|
||||
_EpdTO(this, gcnew EpdTOEventArgs(epd3->ConnectTries, epd3->ConnectTimerFired));
|
||||
|
|
|
|||
|
|
@ -250,6 +250,7 @@ namespace EpdBaseClr {
|
|||
int GetStatus();
|
||||
int GetDoses();
|
||||
int GetDoses(EpdBase::Epd2U* epd);
|
||||
int AfterGetDoses(Epd3Base::Epd3U* epd);
|
||||
int GetDoses(Epd3Base::Epd3U* epd);
|
||||
int SetDeIssued();
|
||||
int SetIssued();
|
||||
|
|
@ -264,11 +265,15 @@ namespace EpdBaseClr {
|
|||
int WriteCalibration(EpdBase::Epd2U* epd);
|
||||
int WriteCalibration(Epd3Base::Epd3U* epd);
|
||||
int ReadTresholds();
|
||||
int AfterReadTresholds(EpdBase::Epd2U* epd);
|
||||
int ReadTresholds(EpdBase::Epd2U* epd);
|
||||
int AfterReadTresholds(Epd3Base::Epd3U* epd);
|
||||
int ReadTresholds(Epd3Base::Epd3U* epd);
|
||||
int ReadExtraStatus();
|
||||
int ReadExtraStatus(EpdBase::Epd2U* epd);
|
||||
int ReadExtraStatus(Epd3Base::Epd3U* epd);
|
||||
int AfterGetDoses(EpdBase::Epd2U* epd);
|
||||
|
||||
int ConnectAndStatus();
|
||||
|
||||
System::Threading::CancellationTokenSource^ tokenSource;
|
||||
|
|
@ -278,10 +283,14 @@ namespace EpdBaseClr {
|
|||
System::Threading::Tasks::Task^ Wait(int timeout, int Retries);
|
||||
void WaitEnd();
|
||||
|
||||
int GetAll(bool close);
|
||||
int GetAllDeissue();
|
||||
|
||||
private:
|
||||
int AfterGetStatus(EpdBase::Epd2U* epd);
|
||||
int AfterGetStatus(Epd3Base::Epd3U* epd);
|
||||
int AfterGetStatus();
|
||||
|
||||
int SwitchCon();
|
||||
void InitData();
|
||||
void WaitEpd();
|
||||
|
|
|
|||
|
|
@ -119,32 +119,20 @@ namespace eDosStation
|
|||
DosePanel.Background = GreenBrush;
|
||||
ok.IsSelected = true;
|
||||
}
|
||||
rv = ep.ReadExtraStatus(); //D1 BaseD1 ...
|
||||
|
||||
rv = ep.GetAllDeissue();
|
||||
if (rv != 0)
|
||||
{
|
||||
MessageBox.Show($"ReadExtraStatus {rv}");
|
||||
}
|
||||
MessageBox.Show($"GetDoses {rv} er:{ep.GetDosesError}");
|
||||
|
||||
|
||||
Wearer.Text = $"{ep.WearerName}";
|
||||
EpdVisit.Text = $"{ep.WearerID}";
|
||||
rv = ep.GetDoses();
|
||||
if (rv != 0)
|
||||
{
|
||||
rv = ep.GetDoses(); //try again
|
||||
if (rv != 0)
|
||||
MessageBox.Show($"GetDoses {rv} er:{ep.GetDosesError}");
|
||||
}
|
||||
|
||||
HpDose07.Text = $"Hp07: {ep.Hp07:0.00} µSv ";
|
||||
HpDose10.Text = $"Hp10: {ep.Hp10:0.00} µSv";
|
||||
if (int.TryParse(ep.WearerID, out int EpdVisitID))
|
||||
{
|
||||
bool isBG = ep.isBG;
|
||||
rv = ep.SetDeIssued(); //includes close
|
||||
if (rv != 0)
|
||||
{
|
||||
MessageBox.Show($"DeIssueerror {rv}");
|
||||
}
|
||||
|
||||
#if SimulateEPD
|
||||
ep.CountsClock = 789;
|
||||
|
|
|
|||
|
|
@ -72,10 +72,10 @@ namespace eDosStation
|
|||
|
||||
private void LoadDoses()
|
||||
{
|
||||
//ep.GetStatus();
|
||||
int rv= ep.GetDoses();
|
||||
rv = ep.ReadTresholds(); //0=success
|
||||
rv = ep.Close();
|
||||
int rv = 0;
|
||||
rv = ep.GetAll(true);
|
||||
|
||||
if (rv != 0) MessageBox.Show("Communication error");
|
||||
|
||||
isIssued.Text = ep.EPDIssued ? "Yes" : "no";
|
||||
string sPersID = ep.WearerName.Trim();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue