aparte writeconfig 3.0 en 3.1
geen start visit bij error
This commit is contained in:
parent
5285d3fe7f
commit
4409fadafa
24 changed files with 713 additions and 361 deletions
|
|
@ -434,7 +434,7 @@ extern "C"
|
||||||
|
|
||||||
//enkel 3.1
|
//enkel 3.1
|
||||||
CompletionToken EPDDLL_API BeginTestLed_R3(CommsHandle hComms, float seconds, CompletionCallback callback);
|
CompletionToken EPDDLL_API BeginTestLed_R3(CommsHandle hComms, float seconds, CompletionCallback callback);
|
||||||
int32_t EPDDLL_API EmdTestLed_R3(CommsHandle hComms, CompletionToken token);
|
int32_t EPDDLL_API EndTestLed_R3(CommsHandle hComms, CompletionToken token);
|
||||||
|
|
||||||
CompletionToken EPDDLL_API BeginTestVibe_R3(CommsHandle hComms, float seconds, CompletionCallback callback);
|
CompletionToken EPDDLL_API BeginTestVibe_R3(CommsHandle hComms, float seconds, CompletionCallback callback);
|
||||||
int32_t EPDDLL_API EndTestVibe_R3(CommsHandle hComms, CompletionToken token);
|
int32_t EPDDLL_API EndTestVibe_R3(CommsHandle hComms, CompletionToken token);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@
|
||||||
#define noDeissueWithClear
|
#define noDeissueWithClear
|
||||||
#define ProtectSession
|
#define ProtectSession
|
||||||
|
|
||||||
|
constexpr int SleepAfterClear = 1000;
|
||||||
|
|
||||||
//-102 = permission
|
//-102 = permission
|
||||||
Epd3Base::Epd3U* current;
|
Epd3Base::Epd3U* current;
|
||||||
|
|
||||||
|
|
@ -32,8 +34,6 @@ int Epd3Base::Epd3U::SetFunctionReturnValue(enum eFunctions f, BYTE CanIgnore)
|
||||||
return CurrentStep;
|
return CurrentStep;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Epd3Base::Epd3U::SetCommitReturnValue(int step, int32_t rv)
|
void Epd3Base::Epd3U::SetCommitReturnValue(int step, int32_t rv)
|
||||||
{
|
{
|
||||||
if (CurrentStep >= 0 && CurrentStep < MaxSteps)
|
if (CurrentStep >= 0 && CurrentStep < MaxSteps)
|
||||||
|
|
@ -47,13 +47,14 @@ void Epd3Base::Epd3U::SetCommitReturnValue(int32_t rv)
|
||||||
|
|
||||||
uint32_t Epd3Base::Epd3U::SetEndReturnValue(int step, int32_t rv)
|
uint32_t Epd3Base::Epd3U::SetEndReturnValue(int step, int32_t rv)
|
||||||
{
|
{
|
||||||
if (step >= 0 && step < MaxSteps)
|
if (step >= 0 && step < MaxSteps) {
|
||||||
StepReturnValues[step][2] = rv;
|
StepReturnValues[step][2] = rv;
|
||||||
if (rv != 0) {
|
if (rv != 0) {
|
||||||
HasStepError = 1;
|
HasStepError = 1;
|
||||||
if (StepReturnValues[step][3]) rv = 0; //if canIngore set rv ok
|
if (StepReturnValues[step][3]) rv = 0; //if canIngore set rv ok
|
||||||
Error = GetErrorCode();
|
Error = GetErrorCode();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,7 +63,6 @@ uint32_t Epd3Base::Epd3U::SetEndReturnValue(int32_t rv)
|
||||||
return SetEndReturnValue(CurrentStep, rv);
|
return SetEndReturnValue(CurrentStep, rv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int32_t Epd3Base::Epd3U::CommitAndSetRV()
|
int32_t Epd3Base::Epd3U::CommitAndSetRV()
|
||||||
{
|
{
|
||||||
int32_t r = Commit3(epdComsHandle);
|
int32_t r = Commit3(epdComsHandle);
|
||||||
|
|
@ -78,7 +78,6 @@ int32_t Epd3Base::Epd3U::CommitAndSetRV(int idx[], int len)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int32_t Epd3Base::Epd3U::CommitAndEnd2RV(int32_t (WINAPI *endFunction2)(CommsHandle hComms, CompletionToken token), CompletionToken token)
|
int32_t Epd3Base::Epd3U::CommitAndEnd2RV(int32_t (WINAPI *endFunction2)(CommsHandle hComms, CompletionToken token), CompletionToken token)
|
||||||
{
|
{
|
||||||
int32_t r = Commit3(epdComsHandle);
|
int32_t r = Commit3(epdComsHandle);
|
||||||
|
|
@ -95,7 +94,6 @@ int32_t Epd3Base::Epd3U::End2RV(int step, int32_t(WINAPI* endFunction2)(CommsHan
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WINAPI completion(CommsHandle hComms, CompletionToken token)
|
void WINAPI completion(CommsHandle hComms, CompletionToken token)
|
||||||
{
|
{
|
||||||
SetEvent(current->hCompletion);
|
SetEvent(current->hCompletion);
|
||||||
|
|
@ -123,6 +121,7 @@ void WINAPI connectcallback(CommsHandle hComms, DiscoveryId ID)
|
||||||
|
|
||||||
void WINAPI disconnectcallback(CommsHandle hComms, DiscoveryId ID)
|
void WINAPI disconnectcallback(CommsHandle hComms, DiscoveryId ID)
|
||||||
{
|
{
|
||||||
|
OutputDebugStringW(L"**** Disconnect ****\n");
|
||||||
current->isConnected = 0;
|
current->isConnected = 0;
|
||||||
current->CurrentDeviceID = 0;
|
current->CurrentDeviceID = 0;
|
||||||
current->DeviceCount = 0;
|
current->DeviceCount = 0;
|
||||||
|
|
@ -193,10 +192,29 @@ Epd3Base::Epd3U::~Epd3U()
|
||||||
//if (hWaitTimer != 0) { CloseHandle(hWaitTimer); hWaitTimer = 0; }
|
//if (hWaitTimer != 0) { CloseHandle(hWaitTimer); hWaitTimer = 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Epd3Base::Epd3U::DisconnectAndConnect()
|
||||||
|
{
|
||||||
|
int rv = 0;
|
||||||
|
rv = Disconnect(epdComsHandle);
|
||||||
|
Sleep(200);
|
||||||
|
rv = SetConnectCallback(epdComsHandle, connectcallback);
|
||||||
|
int tries = 3; rv = 1;
|
||||||
|
while (rv && --tries>=0) {
|
||||||
|
rv = Connect3(epdComsHandle, Epd, true);
|
||||||
|
snprintf(DiagnosticsWrite, DiagnosticsWriteSize, "**** DisconnectAndConnect rv=%d tries %d ****\n", rv, tries);
|
||||||
|
OutputDebugStringA(DiagnosticsWrite);
|
||||||
|
Sleep(100);
|
||||||
|
}
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
DWORD Epd3Base::Epd3U::StartCom()
|
DWORD Epd3Base::Epd3U::StartCom()
|
||||||
{
|
{
|
||||||
ErrorReason = 0;
|
ErrorReason = 0;
|
||||||
ConnectRetries = 0;
|
ConnectRetries = 0;
|
||||||
|
OpenRetries = 0;
|
||||||
int step = 1;
|
int step = 1;
|
||||||
int mx = 10;
|
int mx = 10;
|
||||||
|
|
||||||
|
|
@ -208,29 +226,34 @@ DWORD Epd3Base::Epd3U::StartCom()
|
||||||
|
|
||||||
if (CommsInitialized == 0 || epdComsHandle == nullptr) {
|
if (CommsInitialized == 0 || epdComsHandle == nullptr) {
|
||||||
step = 2;
|
step = 2;
|
||||||
|
SetFunctionReturnValue(fCreateReaderInterface, 0);
|
||||||
epdComsHandle = CreateReaderInterface();
|
epdComsHandle = CreateReaderInterface();
|
||||||
if (epdComsHandle == nullptr) {
|
if (!epdComsHandle ) step = 3;
|
||||||
++ConnectRetries;
|
while (epdComsHandle == nullptr && ++ConnectRetries < 4) {
|
||||||
step = 3;
|
Sleep(200);
|
||||||
Sleep(100);
|
|
||||||
epdComsHandle = CreateReaderInterface(); //try again;
|
epdComsHandle = CreateReaderInterface(); //try again;
|
||||||
}
|
}
|
||||||
|
SetCommitReturnValue(0);
|
||||||
|
if (epdComsHandle) SetEndReturnValue(0); else SetEndReturnValue(-1);
|
||||||
|
|
||||||
if (epdComsHandle != nullptr) {
|
if (epdComsHandle != nullptr) {
|
||||||
step = 4;
|
step = 4;
|
||||||
|
SetFunctionReturnValue(fOpenReader, 0);
|
||||||
Dll3RV = OpenReader(epdComsHandle, comPort); //-6 = r_OperationFailed
|
Dll3RV = OpenReader(epdComsHandle, comPort); //-6 = r_OperationFailed
|
||||||
if (Dll3RV) { //retry
|
if (Dll3RV) step = 5;
|
||||||
++ConnectRetries;
|
while (Dll3RV && ++OpenRetries <4 ) { //retry
|
||||||
step = 5;
|
Sleep(200);
|
||||||
Sleep(100);
|
|
||||||
Dll3RV = OpenReader(epdComsHandle, comPort);
|
Dll3RV = OpenReader(epdComsHandle, comPort);
|
||||||
}
|
}
|
||||||
|
SetCommitReturnValue(0);
|
||||||
|
if (!Dll3RV) SetEndReturnValue(0); else SetEndReturnValue(-1);
|
||||||
|
|
||||||
if (Dll3RV == 0)
|
if (Dll3RV == 0)
|
||||||
{
|
{
|
||||||
step = 7;
|
step = 7;
|
||||||
CommsInitialized = 1;
|
CommsInitialized = 1;
|
||||||
Dll3RV = SetMultipleDiscoveryMode(epdComsHandle, false);
|
Dll3RV = SetMultipleDiscoveryMode(epdComsHandle, false);
|
||||||
Dll3RV = SetResponseTimeout(epdComsHandle, ResponseTimeout);
|
Dll3RV = SetResponseTimeout(epdComsHandle, ResponseTimeout);
|
||||||
//Dll3RV = GetRetryCount(epdComsHandle, &retries); = 3
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -248,10 +271,14 @@ error:
|
||||||
void Epd3Base::Epd3U::EndCom(bool doDiscon)
|
void Epd3Base::Epd3U::EndCom(bool doDiscon)
|
||||||
{
|
{
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
if (CommsInitialized == 1 || CurrentDeviceID != 0) {
|
if (CommsInitialized == 1 || CurrentDeviceID != 0) {
|
||||||
if (CommsInitialized == 1) {
|
if (CommsInitialized == 1) {
|
||||||
|
snprintf(DiagnosticsWrite, DiagnosticsWriteSize, "**** EndCom(%d) is Connected=%d ****\n", doDiscon, isConnected);
|
||||||
|
OutputDebugStringA(DiagnosticsWrite);
|
||||||
|
|
||||||
if (epdComsHandle != nullptr) {
|
if (epdComsHandle != nullptr) {
|
||||||
if (doDiscon) { DisCon(0); }
|
if (doDiscon && isConnected) { DisCon(0); }
|
||||||
//Dll3RV = CloseReader(epdComsHandle); // not necessary if followed by DestroyReaderInterface
|
//Dll3RV = CloseReader(epdComsHandle); // not necessary if followed by DestroyReaderInterface
|
||||||
//if (Dll3RV) {
|
//if (Dll3RV) {
|
||||||
// rv = 1;
|
// rv = 1;
|
||||||
|
|
@ -294,7 +321,6 @@ int Epd3Base::Epd3U::StartDiscover(int tokentimeout)
|
||||||
ConnectTimerFired = 0;
|
ConnectTimerFired = 0;
|
||||||
isConnected = 0;
|
isConnected = 0;
|
||||||
|
|
||||||
|
|
||||||
Dll3RV = StartDiscovery(epdComsHandle, discovery);
|
Dll3RV = StartDiscovery(epdComsHandle, discovery);
|
||||||
if (Dll3RV == 0) {
|
if (Dll3RV == 0) {
|
||||||
Dll3RV = WaitForSingleObject(hCompletion, tokentimeout);
|
Dll3RV = WaitForSingleObject(hCompletion, tokentimeout);
|
||||||
|
|
@ -325,6 +351,8 @@ int Epd3Base::Epd3U::OpenDev(DiscoveryId DeviceID)
|
||||||
{
|
{
|
||||||
Dll3RV = Connect3(epdComsHandle, DeviceID, true);
|
Dll3RV = Connect3(epdComsHandle, DeviceID, true);
|
||||||
SetDisconnectCallback(epdComsHandle, disconnectcallback);
|
SetDisconnectCallback(epdComsHandle, disconnectcallback);
|
||||||
|
OutputDebugStringA("**** Open ****\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
else { Dll3RV = r_InvalidCommsHandle; }
|
else { Dll3RV = r_InvalidCommsHandle; }
|
||||||
return Dll3RV;
|
return Dll3RV;
|
||||||
|
|
@ -334,27 +362,47 @@ int Epd3Base::Epd3U::ReOpenDev()
|
||||||
{
|
{
|
||||||
if (epdComsHandle != nullptr)
|
if (epdComsHandle != nullptr)
|
||||||
{
|
{
|
||||||
|
SetDisconnectCallback(epdComsHandle, disconnectcallback);
|
||||||
Dll3RV = Connect3(epdComsHandle, Epd, true);
|
Dll3RV = Connect3(epdComsHandle, Epd, true);
|
||||||
|
OutputDebugStringA("**** ReOpen ****\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
OutputDebugStringA("**** ReOpen no epdComsHandle ****\n");
|
||||||
Dll3RV = r_InvalidCommsHandle;
|
Dll3RV = r_InvalidCommsHandle;
|
||||||
} //no handle ..
|
} //no handle ..
|
||||||
return Dll3RV;
|
return Dll3RV;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
int Epd3Base::Epd3U::DisCon(UINT16 alarm)
|
int Epd3Base::Epd3U::DisCon(UINT16 alarm)
|
||||||
{
|
{
|
||||||
|
// 5432109876543210
|
||||||
|
constexpr UINT16 ca = 0b1001110011000111;
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
int step = 0;
|
int step = 0;
|
||||||
|
snprintf(DiagnosticsWrite, DiagnosticsWriteSize, "**** Discon(%hu) ****\n", alarm);
|
||||||
|
OutputDebugStringA(DiagnosticsWrite);
|
||||||
if (CurrentDeviceID != 0) {
|
if (CurrentDeviceID != 0) {
|
||||||
ResetEvent(hCompletion);
|
ResetEvent(hCompletion);
|
||||||
current = this;
|
current = this;
|
||||||
step = 1;
|
step = 1;
|
||||||
Dll3RV = SetDisconnectCallback(epdComsHandle, disconnectcallback);
|
Dll3RV = SetDisconnectCallback(epdComsHandle, disconnectcallback);
|
||||||
if (alarm) {
|
if (alarm) {
|
||||||
|
|
||||||
|
snprintf(DiagnosticsWrite, DiagnosticsWriteSize, "**** DisconnectAndNotify(%hX,15) HardVersionMinor: %d ****\n", ca, HardVersionMinor);
|
||||||
|
|
||||||
|
if (HardVersionMinor > 0) {
|
||||||
|
SetFunctionReturnValue(TestVibe, 0);
|
||||||
|
token = BeginTestVibe_R3(epdComsHandle, 1.0 , nullptr);
|
||||||
|
rv = CommitAndEnd2RV(EndTestVibe_R3, token);
|
||||||
|
}
|
||||||
|
|
||||||
|
OutputDebugStringA(DiagnosticsWrite);
|
||||||
SetFunctionReturnValue(fDisconnectAndNotify,0);
|
SetFunctionReturnValue(fDisconnectAndNotify,0);
|
||||||
Dll3RV = DisconnectAndNotify(epdComsHandle, alarm, 12); //1.2 secon
|
Dll3RV = DisconnectAndNotify(epdComsHandle, ca, 12); //1.2 secon
|
||||||
SetCommitReturnValue(0); SetEndReturnValue(Dll3RV);
|
SetCommitReturnValue(0); SetEndReturnValue(Dll3RV);
|
||||||
|
Sleep(1200);
|
||||||
} else {
|
} else {
|
||||||
SetFunctionReturnValue(fDisconnect,0);
|
SetFunctionReturnValue(fDisconnect,0);
|
||||||
Dll3RV = Disconnect(epdComsHandle);
|
Dll3RV = Disconnect(epdComsHandle);
|
||||||
|
|
@ -434,7 +482,6 @@ void Epd3Base::Epd3U::DecodeStatus()
|
||||||
EPDEprFault = checkStatus(epd3status.FaultStatus, FaultStatusFlags::EepromFailure);
|
EPDEprFault = checkStatus(epd3status.FaultStatus, FaultStatusFlags::EepromFailure);
|
||||||
EPDTrhFault = checkStatus(epd3status.FaultStatus, FaultStatusFlags::BadThreshold);
|
EPDTrhFault = checkStatus(epd3status.FaultStatus, FaultStatusFlags::BadThreshold);
|
||||||
|
|
||||||
|
|
||||||
for (int ix = 0; ix < 4; ix++)
|
for (int ix = 0; ix < 4; ix++)
|
||||||
{
|
{
|
||||||
DoseAlarmFlags status = epd3status.DoseAlarms[ix].Status;
|
DoseAlarmFlags status = epd3status.DoseAlarms[ix].Status;
|
||||||
|
|
@ -485,17 +532,39 @@ int Epd3Base::Epd3U::SetTime() //Only R3
|
||||||
utc = TimeFunctions::NowToEpdTime(Epd.Gen == EpdGeneration::Mk2);
|
utc = TimeFunctions::NowToEpdTime(Epd.Gen == EpdGeneration::Mk2);
|
||||||
token = BeginWriteRTC_R3(epdComsHandle, utc, nullptr);
|
token = BeginWriteRTC_R3(epdComsHandle, utc, nullptr);
|
||||||
r = CommitAndEnd2RV(EndWriteRTC_R3, token);
|
r = CommitAndEnd2RV(EndWriteRTC_R3, token);
|
||||||
/*r = CommitSetRV();
|
|
||||||
if (!r) r = EndWriteRTC_R3(epdComsHandle, token);
|
|
||||||
SetEndReturnValue(r);*/
|
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WINAPI ReadStatusCompletion(CommsHandle hComms, CompletionToken token)
|
||||||
|
{
|
||||||
|
int rv = EndReadStatus(current->epdComsHandle, token, ¤t->epd3status);
|
||||||
|
rv = current->SetEndReturnValue(rv);
|
||||||
|
current->IssueCount = current->epd3status.IssueCount;
|
||||||
|
current->OperatingStatus = current->epd3status.OperatingStatus;
|
||||||
|
current->AlarmStatus = current->epd3status.AlarmStatus;
|
||||||
|
current->ErrorStatus = current->epd3status.FaultStatus;
|
||||||
|
current->OtherAlarms = current->epd3status.OtherBits;
|
||||||
|
current->DecodeStatus(); //Alarm status...
|
||||||
|
snprintf(current->DiagnosticsWrite, DiagnosticsWriteSize, "**** ReadStatusCompletion %04x ****\n", current->OperatingStatus);
|
||||||
|
OutputDebugStringA(current->DiagnosticsWrite);
|
||||||
|
SetEvent(current->hCompletion);
|
||||||
|
}
|
||||||
|
|
||||||
|
int Epd3Base::Epd3U::ReadStatusOnly()
|
||||||
|
{
|
||||||
|
int rv = 0;
|
||||||
|
ResetEvent(hCompletion);
|
||||||
|
SetFunctionReturnValue(eFunctions::ReadStatus, 0);
|
||||||
|
token = BeginReadStatus(epdComsHandle, ReadStatusCompletion);
|
||||||
|
rv = CommitAndSetRV();
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>0 = ok</returns>
|
/// <returns>0 = ok</returns>
|
||||||
int Epd3Base::Epd3U::ReadStatus()
|
int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
||||||
{
|
{
|
||||||
int rv; //0=ok
|
int rv; //0=ok
|
||||||
//constexpr int maxbatch = 2;
|
//constexpr int maxbatch = 2;
|
||||||
|
|
@ -531,24 +600,9 @@ int Epd3Base::Epd3U::ReadStatus()
|
||||||
HardVersion = HardVersionMinor = SoftVersion = FunctionFlags = 0;
|
HardVersion = HardVersionMinor = SoftVersion = FunctionFlags = 0;
|
||||||
|
|
||||||
step = 1;
|
step = 1;
|
||||||
//batchstep = 0;
|
|
||||||
SetFunctionReturnValue(eFunctions::ReadStatus,0);
|
SetFunctionReturnValue(eFunctions::ReadStatus,0);
|
||||||
token = BeginReadStatus(epdComsHandle, nullptr);
|
token = BeginReadStatus(epdComsHandle, nullptr);
|
||||||
|
|
||||||
//batchstep = 1;
|
|
||||||
//
|
|
||||||
//s[batchstep] = SetFunctionReturnValue(ReadEpdIdentities, 0);
|
|
||||||
//btoken[batchstep] = BeginReadEpdIdentities(epdComsHandle, nullptr);
|
|
||||||
|
|
||||||
//batchstep = 2;
|
|
||||||
//s[batchstep] = SetFunctionReturnValue(ReadCounts, 0);
|
|
||||||
//btoken[batchstep] = BeginReadCounts(epdComsHandle, nullptr, 0, nullptr);
|
|
||||||
|
|
||||||
/*batchstep = 3;
|
|
||||||
s[batchstep] = SetFunctionReturnValue(ReadRTC, 0);
|
|
||||||
btoken[batchstep] = BeginReadRTC(epdComsHandle, nullptr);*/
|
|
||||||
|
|
||||||
// after
|
|
||||||
rv = CommitAndSetRV();
|
rv = CommitAndSetRV();
|
||||||
|
|
||||||
//batchstep = 0; //ReadStatus
|
//batchstep = 0; //ReadStatus
|
||||||
|
|
@ -562,6 +616,9 @@ int Epd3Base::Epd3U::ReadStatus()
|
||||||
AlarmStatus = epd3status.AlarmStatus;
|
AlarmStatus = epd3status.AlarmStatus;
|
||||||
ErrorStatus = epd3status.FaultStatus;
|
ErrorStatus = epd3status.FaultStatus;
|
||||||
OtherAlarms = epd3status.OtherBits;
|
OtherAlarms = epd3status.OtherBits;
|
||||||
|
DecodeStatus(); //Alarm status...
|
||||||
|
|
||||||
|
if (onlyStatus) goto exitroutine;
|
||||||
|
|
||||||
uint32_t EpdID32 ;
|
uint32_t EpdID32 ;
|
||||||
uint32_t capabilities;
|
uint32_t capabilities;
|
||||||
|
|
@ -571,6 +628,12 @@ int Epd3Base::Epd3U::ReadStatus()
|
||||||
step = 2;
|
step = 2;
|
||||||
//batchstep = 1; //ReadEpdIdentities
|
//batchstep = 1; //ReadEpdIdentities
|
||||||
|
|
||||||
|
|
||||||
|
EpdID32 = 0;
|
||||||
|
MarkNumber.Major = 0;
|
||||||
|
MarkNumber.Minor=0;
|
||||||
|
VersionNumber.Major = 0;
|
||||||
|
|
||||||
SetFunctionReturnValue(ReadEpdIdentities,0);
|
SetFunctionReturnValue(ReadEpdIdentities,0);
|
||||||
token = BeginReadEpdIdentities(epdComsHandle, nullptr);
|
token = BeginReadEpdIdentities(epdComsHandle, nullptr);
|
||||||
rv = CommitAndSetRV();
|
rv = CommitAndSetRV();
|
||||||
|
|
@ -587,23 +650,17 @@ int Epd3Base::Epd3U::ReadStatus()
|
||||||
SoftVersion = VersionNumber.Major;
|
SoftVersion = VersionNumber.Major;
|
||||||
VersionOK = true;
|
VersionOK = true;
|
||||||
|
|
||||||
DecodeStatus(); //Alarm status...
|
|
||||||
|
|
||||||
step = 3;
|
step = 3;
|
||||||
//batchstep = 2;
|
|
||||||
SetFunctionReturnValue(ReadCounts,0);
|
SetFunctionReturnValue(ReadCounts,0);
|
||||||
token = BeginReadCounts(epdComsHandle, nullptr, 0, nullptr);
|
token = BeginReadCounts(epdComsHandle, nullptr, 0, nullptr);
|
||||||
rv = CommitAndSetRV();
|
rv = CommitAndSetRV();
|
||||||
if (!rv) rv = EndReadCounts(epdComsHandle, token, Counts, MaxCounts, &countsRead, &utc, &seconds);
|
if (!rv) rv = EndReadCounts(epdComsHandle, token, Counts, MaxCounts, &countsRead, &utc, &seconds);
|
||||||
rv= SetEndReturnValue(rv);
|
rv= SetEndReturnValue(rv);
|
||||||
// - 101 = InvalidParam
|
if (rv) goto error;
|
||||||
// - 104 = FunctionFail,
|
|
||||||
if (rv) goto error; // (r != 0 && r != -104) { Error = GetErrorCode(); goto error; }
|
|
||||||
decodeCounters(countsRead); //HG,SG ..
|
decodeCounters(countsRead); //HG,SG ..
|
||||||
|
|
||||||
//Wearer
|
|
||||||
|
|
||||||
|
|
||||||
//Times
|
//Times
|
||||||
//1601-01-01T00:00:00Z.
|
//1601-01-01T00:00:00Z.
|
||||||
//MK2 .. some utc... but no real time clock
|
//MK2 .. some utc... but no real time clock
|
||||||
|
|
@ -630,16 +687,8 @@ int Epd3Base::Epd3U::ReadStatus()
|
||||||
step = 4;
|
step = 4;
|
||||||
if (EPDIssued) {
|
if (EPDIssued) {
|
||||||
IdString_t mk3WearerID;
|
IdString_t mk3WearerID;
|
||||||
|
mk3WearerID.Length = 0;
|
||||||
//Mk2 EPDs only support Name and Primary ID
|
//Mk2 EPDs only support Name and Primary ID
|
||||||
//batchstep = 0;
|
|
||||||
//s[batchstep]=SetFunctionReturnValue(ReadWearerId, 0);
|
|
||||||
//btoken[batchstep] = BeginReadWearerId(epdComsHandle, static_cast<uint16_t>(WearerIdType::WearerId_Name), nullptr);
|
|
||||||
|
|
||||||
//batchstep = 1;
|
|
||||||
//s[batchstep] = SetFunctionReturnValue(ReadWearerId, 0);
|
|
||||||
//btoken[batchstep] = BeginReadWearerId(epdComsHandle, static_cast<uint16_t>(WearerIdType::WearerId_Primary), nullptr);
|
|
||||||
|
|
||||||
//rv = CommitAndSetRV(s, 2);
|
|
||||||
|
|
||||||
//batchstep = 0;
|
//batchstep = 0;
|
||||||
SetFunctionReturnValue(ReadWearerId, 0);
|
SetFunctionReturnValue(ReadWearerId, 0);
|
||||||
|
|
@ -669,6 +718,7 @@ int Epd3Base::Epd3U::ReadStatus()
|
||||||
if (WearerID[i] == 0xb) WearerID[i] = '0'; else WearerID[i] |= 0x30;
|
if (WearerID[i] == 0xb) WearerID[i] = '0'; else WearerID[i] |= 0x30;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exitroutine:
|
||||||
return rv;
|
return rv;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
|
@ -698,7 +748,7 @@ int Epd3Base::Epd3U::ConnectAndStatus(int tokenSourceTimeout)
|
||||||
|
|
||||||
if (dllStatus != 1) rv = 1; //Connect error
|
if (dllStatus != 1) rv = 1; //Connect error
|
||||||
else if (DeviceCount < 1) rv = 2; //TO
|
else if (DeviceCount < 1) rv = 2; //TO
|
||||||
else if (isMK3 && ReadStatus() != 0) rv = 1; //Read Error
|
else if (isMK3 && ReadStatus(false) != 0) rv = 1; //Read Error
|
||||||
else rv = 0;
|
else rv = 0;
|
||||||
}
|
}
|
||||||
else rv = 1;
|
else rv = 1;
|
||||||
|
|
@ -725,7 +775,6 @@ void Epd3Base::Epd3U::decodeSensitivities(int count) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Epd3Base::Epd3U::decodetotDoses(int count)
|
void Epd3Base::Epd3U::decodetotDoses(int count)
|
||||||
{
|
{
|
||||||
//doses
|
//doses
|
||||||
|
|
@ -754,7 +803,6 @@ void Epd3Base::Epd3U::decodeDoses(int count)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Epd3Base::Epd3U::decodePeakRates(int count)
|
void Epd3Base::Epd3U::decodePeakRates(int count)
|
||||||
{
|
{
|
||||||
//Rates
|
//Rates
|
||||||
|
|
@ -782,7 +830,6 @@ void Epd3Base::Epd3U::decodePeakRates(int count)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Epd3Base::Epd3U::decodeCounters(int count)
|
void Epd3Base::Epd3U::decodeCounters(int count)
|
||||||
{
|
{
|
||||||
HG = SG = BC = FB = 0;
|
HG = SG = BC = FB = 0;
|
||||||
|
|
@ -796,7 +843,6 @@ void Epd3Base::Epd3U::decodeCounters(int count)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Epd3Base::Epd3U::decodeBaseCounters(int count)
|
void Epd3Base::Epd3U::decodeBaseCounters(int count)
|
||||||
{
|
{
|
||||||
D1 = D2 = D3 = D4 = 0;
|
D1 = D2 = D3 = D4 = 0;
|
||||||
|
|
@ -810,7 +856,6 @@ void Epd3Base::Epd3U::decodeBaseCounters(int count)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Epd3Base::Epd3U::decodeTreshold(Mk3AlarmThresholds_t* th)
|
void Epd3Base::Epd3U::decodeTreshold(Mk3AlarmThresholds_t* th)
|
||||||
{
|
{
|
||||||
float* pThDose = nullptr, * pThRate = nullptr, * pTHDoseWarning = nullptr, * pTHRateWarning = nullptr;
|
float* pThDose = nullptr, * pThRate = nullptr, * pTHDoseWarning = nullptr, * pTHRateWarning = nullptr;
|
||||||
|
|
@ -844,7 +889,6 @@ void Epd3Base::Epd3U::decodeTreshold(Mk3AlarmThresholds_t* th)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Epd3Base::Epd3U::encodeTreshold(Mk3AlarmThresholds_t* th)
|
void Epd3Base::Epd3U::encodeTreshold(Mk3AlarmThresholds_t* th)
|
||||||
{
|
{
|
||||||
//th.MeasId
|
//th.MeasId
|
||||||
|
|
@ -1107,7 +1151,6 @@ int Epd3Base::Epd3U::ClearDoses()
|
||||||
return rv;
|
return rv;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int Epd3Base::Epd3U::ClearAlarms()
|
int Epd3Base::Epd3U::ClearAlarms()
|
||||||
{
|
{
|
||||||
constexpr int maxbatch = 2;
|
constexpr int maxbatch = 2;
|
||||||
|
|
@ -1134,7 +1177,6 @@ int Epd3Base::Epd3U::ClearAlarms()
|
||||||
Error = rv;
|
Error = rv;
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
WORD Epd3Base::Epd3U::PrepareForIssue()
|
WORD Epd3Base::Epd3U::PrepareForIssue()
|
||||||
{
|
{
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
|
|
@ -1177,16 +1219,19 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
|
||||||
if (rv != 0)
|
if (rv != 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
Sleep(2000);
|
OutputDebugStringA("**** After clear ****\n");
|
||||||
|
Disconnect(epdComsHandle);
|
||||||
|
Sleep(SleepAfterClear);
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
snprintf(DiagnosticsWrite, DiagnosticsWriteSize, "**** After clear step %d error %d ****\n", step, rv);
|
||||||
|
OutputDebugStringA(DiagnosticsWrite);
|
||||||
ErrorStep = step;
|
ErrorStep = step;
|
||||||
Error = rv;
|
Error = rv;
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
WORD Epd3Base::Epd3U::ReadAlarmConfig() {
|
WORD Epd3Base::Epd3U::ReadAlarmConfig() {
|
||||||
//Alleen MK3 ? leeg bij MK2
|
//Alleen MK3 ? leeg bij MK2
|
||||||
|
|
||||||
|
|
@ -1196,7 +1241,6 @@ WORD Epd3Base::Epd3U::ReadAlarmConfig() {
|
||||||
if (!r) { r = EndReadAlarmConfiguration(epdComsHandle, token, alarmConfig, MaxAlarmConfig, &numAlarm); SetEndReturnValue(r); }
|
if (!r) { r = EndReadAlarmConfiguration(epdComsHandle, token, alarmConfig, MaxAlarmConfig, &numAlarm); SetEndReturnValue(r); }
|
||||||
return numAlarm;
|
return numAlarm;
|
||||||
}
|
}
|
||||||
|
|
||||||
WORD Epd3Base::Epd3U::ReadAlarmTresholds() {
|
WORD Epd3Base::Epd3U::ReadAlarmTresholds() {
|
||||||
//Alleen MK3 ? leeg bij MK2
|
//Alleen MK3 ? leeg bij MK2
|
||||||
bool isNeutron = (EpdType == EpdTypes::Mk2Neutron || EpdType == EpdTypes::Mk3Neutron);
|
bool isNeutron = (EpdType == EpdTypes::Mk2Neutron || EpdType == EpdTypes::Mk3Neutron);
|
||||||
|
|
@ -1225,7 +1269,6 @@ WORD Epd3Base::Epd3U::ReadAlarmTresholds() {
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
WORD Epd3Base::Epd3U::WriteAlarmTresholds() {
|
WORD Epd3Base::Epd3U::WriteAlarmTresholds() {
|
||||||
//Alleen MK3 ? leeg bij MK2
|
//Alleen MK3 ? leeg bij MK2
|
||||||
uint32_t r;
|
uint32_t r;
|
||||||
|
|
@ -1264,7 +1307,6 @@ error:
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WORD Epd3Base::Epd3U::DeIssue()
|
WORD Epd3Base::Epd3U::DeIssue()
|
||||||
{
|
{
|
||||||
int r = 1;
|
int r = 1;
|
||||||
|
|
@ -1272,42 +1314,35 @@ WORD Epd3Base::Epd3U::DeIssue()
|
||||||
if (port == 0) return 0;
|
if (port == 0) return 0;
|
||||||
if (CurrentDeviceID == 0) return 0;
|
if (CurrentDeviceID == 0) return 0;
|
||||||
|
|
||||||
if (EPDIssued) {
|
if (EPDIssued)
|
||||||
|
{
|
||||||
#if DeissueWithClear
|
#if DeissueWithClear
|
||||||
ErrorStep = 2;
|
ErrorStep = 2;
|
||||||
r = ClearDoses();
|
r = ClearDoses();
|
||||||
|
|
||||||
ErrorStep = 1;
|
ErrorStep = 1;
|
||||||
r = ClearAlarms();
|
r = ClearAlarms();
|
||||||
|
|
||||||
//needed after clear alarms
|
//needed after clear alarms
|
||||||
Sleep(2000);
|
Sleep(2000);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SetFunctionReturnValue(eFunctions::DeissueEPD, 0);
|
SetFunctionReturnValue(eFunctions::DeissueEPD, 0);
|
||||||
token = BeginDeissueEPD(epdComsHandle, nullptr);
|
token = BeginDeissueEPD(epdComsHandle, nullptr);
|
||||||
r = CommitAndEnd2RV(EndDeissueEPD, token);
|
r = CommitAndEnd2RV(EndDeissueEPD, token);
|
||||||
//r = Commit3(epdComsHandle); SetCommitReturnValue(r); if (!r) r = EndDeissueEPD(epdComsHandle, token); SetEndReturnValue(r);
|
Sleep(100);
|
||||||
Sleep(2000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SetFunctionReturnValue(eFunctions::EpdOnOff,0);
|
SetFunctionReturnValue(eFunctions::EpdOnOff,0);
|
||||||
token = BeginEpdOnOff(epdComsHandle, 0, nullptr);
|
token = BeginEpdOnOff(epdComsHandle, 0, nullptr);
|
||||||
r = CommitAndEnd2RV(EndEpdOnOff, token);
|
r = CommitAndEnd2RV(EndEpdOnOff, token);
|
||||||
//r = Commit3(epdComsHandle); SetCommitReturnValue(r); if (!r) r = EndEpdOnOff(epdComsHandle, token); SetEndReturnValue(r);
|
|
||||||
Sleep(100);
|
Sleep(100);
|
||||||
|
|
||||||
EndCom(true);
|
|
||||||
if (r) goto error;
|
if (r) goto error;
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
|
||||||
Error = r;
|
Error = r;
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
WORD Epd3Base::Epd3U::WriteWearer() {
|
WORD Epd3Base::Epd3U::WriteWearer() {
|
||||||
|
|
||||||
int32_t r = 0;
|
int32_t r = 0;
|
||||||
|
|
@ -1371,8 +1406,6 @@ WORD Epd3Base::Epd3U::Issue(bool PrepareDone) //normaal is preparedone=tru
|
||||||
if (r) goto error;
|
if (r) goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
step = 1;
|
step = 1;
|
||||||
if (!isConnected) r = ReOpenDev();
|
if (!isConnected) r = ReOpenDev();
|
||||||
if (r) goto error;
|
if (r) goto error;
|
||||||
|
|
@ -1421,7 +1454,7 @@ WORD Epd3Base::Epd3U::Issue(bool PrepareDone) //normaal is preparedone=tru
|
||||||
}
|
}
|
||||||
if (r)
|
if (r)
|
||||||
goto error;
|
goto error;
|
||||||
|
EPDIssued = 1;
|
||||||
|
|
||||||
|
|
||||||
step = 6;
|
step = 6;
|
||||||
|
|
@ -1430,8 +1463,6 @@ WORD Epd3Base::Epd3U::Issue(bool PrepareDone) //normaal is preparedone=tru
|
||||||
}
|
}
|
||||||
|
|
||||||
step = 7;
|
step = 7;
|
||||||
EndCom(false);
|
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
|
@ -1530,9 +1561,11 @@ int Epd3Base::Epd3U::GetAllDeissue(bool reconnect)
|
||||||
rv = DeIssue(); //does close
|
rv = DeIssue(); //does close
|
||||||
|
|
||||||
if (rv) goto error;
|
if (rv) goto error;
|
||||||
|
EndCom(isConnected);
|
||||||
return rv;
|
return rv;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
EndCom(isConnected);
|
||||||
Error = rv;
|
Error = rv;
|
||||||
ErrorStep = step;
|
ErrorStep = step;
|
||||||
return rv;
|
return rv;
|
||||||
|
|
@ -1543,6 +1576,10 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
|
||||||
{
|
{
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
int step = 0;
|
int step = 0;
|
||||||
|
DWORD wrv = 0;
|
||||||
|
int rv1 = -1, rv2 = -1;
|
||||||
|
|
||||||
|
ResetStepReturnValues();
|
||||||
|
|
||||||
if (!isConnected) rv = ReOpenDev();
|
if (!isConnected) rv = ReOpenDev();
|
||||||
if (rv) goto error;
|
if (rv) goto error;
|
||||||
|
|
@ -1551,10 +1588,21 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
|
||||||
rv = SetTime();
|
rv = SetTime();
|
||||||
//synctime
|
//synctime
|
||||||
|
|
||||||
|
OutputDebugStringW(L"**** Prepare ****\n");
|
||||||
step = 2;
|
step = 2;
|
||||||
rv = PrepareForIssue(); //Set epd on, clear doses and alarms
|
rv = PrepareForIssue(); //Set epd on, clear doses and alarms
|
||||||
if (rv) goto error;
|
if (rv) goto error;
|
||||||
|
|
||||||
|
rv = ReOpenDev();
|
||||||
|
rv = ReadStatusOnly();
|
||||||
|
wrv= WaitForSingleObject(hCompletion, 2000);
|
||||||
|
if (wrv == WAIT_OBJECT_0) rv = 0;
|
||||||
|
else if (wrv == WAIT_TIMEOUT) {
|
||||||
|
rv = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//rv1 = StepReturnValues[CurrentStep][1];
|
||||||
|
//rv2 = StepReturnValues[CurrentStep][2];
|
||||||
|
|
||||||
step = 3;
|
step = 3;
|
||||||
if (isNG) {
|
if (isNG) {
|
||||||
|
|
@ -1571,7 +1619,6 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
step = 3;
|
step = 3;
|
||||||
if (!isConnected) rv = ReOpenDev();
|
if (!isConnected) rv = ReOpenDev();
|
||||||
rv = SetChirp(ChirpRate);
|
rv = SetChirp(ChirpRate);
|
||||||
|
|
@ -1582,13 +1629,19 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
|
||||||
}
|
}
|
||||||
if (rv) goto error;
|
if (rv) goto error;
|
||||||
|
|
||||||
|
|
||||||
step = 5;
|
step = 5;
|
||||||
rv = Issue(true); // data already loaded
|
rv = Issue(true); // data already loaded
|
||||||
if (rv) goto error;
|
if (rv) goto error;
|
||||||
|
|
||||||
|
//debug
|
||||||
|
/*rv = 1; EPDIssued = 0; goto error;*/
|
||||||
|
|
||||||
|
|
||||||
|
EndCom(isConnected);
|
||||||
return rv;
|
return rv;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
EndCom(isConnected);
|
||||||
Error = rv;
|
Error = rv;
|
||||||
ErrorStep = step;
|
ErrorStep = step;
|
||||||
return rv;
|
return rv;
|
||||||
|
|
@ -1600,11 +1653,12 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
||||||
int32_t r = 0;
|
int32_t r = 0;
|
||||||
ECLen = 32;
|
ECLen = 32;
|
||||||
|
|
||||||
|
snprintf(DiagnosticsWrite,DiagnosticsWriteSize,"**** WriteCfg v %d.%d ****\n", HardVersion, HardVersionMinor);
|
||||||
|
OutputDebugStringA(DiagnosticsWrite);
|
||||||
// Become admin
|
// Become admin
|
||||||
SetFunctionReturnValue(eFunctions::WriteAccessLevel,0);
|
SetFunctionReturnValue(eFunctions::WriteAccessLevelAdmin,0);
|
||||||
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Admin, EC, ECLen, nullptr);
|
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Admin, EC, ECLen, nullptr);
|
||||||
r = CommitAndEnd2RV(EndWriteAccessLevel,token);
|
r = CommitAndEnd2RV(EndWriteAccessLevel,token);
|
||||||
|
|
||||||
if (!r) {
|
if (!r) {
|
||||||
displayIds = new QuickAccessDisplay_t[6]{
|
displayIds = new QuickAccessDisplay_t[6]{
|
||||||
{ 0,0x0021 },
|
{ 0,0x0021 },
|
||||||
|
|
@ -1623,17 +1677,33 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
||||||
if (!r) {
|
if (!r) {
|
||||||
//Unmanaged%20HtmlFiles/_display_ids.html
|
//Unmanaged%20HtmlFiles/_display_ids.html
|
||||||
numItems = 9;
|
numItems = 9;
|
||||||
|
if (HardVersionMinor > 0) {
|
||||||
enables = new DisplayAttributeMap_t[9]{
|
enables = new DisplayAttributeMap_t[9]{
|
||||||
{ 0,0xDFFF,0xFFFF },
|
{ 0,0x3FFF,0xFFFF },
|
||||||
{ 1,0xDFFF,0xFF07 },
|
{ 1,0x3FFF,0xFF01 }, //{ 1,0x0FFF,0xFFE1 }
|
||||||
{ 2,0xDFFF,0xFFFF },
|
{ 2,0x3FFF,0xFE0F },
|
||||||
{ 3,0xDFFF,0xFFFF },
|
{ 3,0x3FFF,0xFE0F },
|
||||||
{ 4,0xDFFF,0xFE01 },
|
{ 4,0x3FFF,0xFE01 },
|
||||||
{ 5,0xDFFF,0xFFFF },
|
{ 5,0x3FFF,0xFF0B },
|
||||||
{ 6,0xDFFF,0xFFFF },
|
{ 6,0x3FFF,0xFFF9 },
|
||||||
{ 7,0xDFFF,0xFFFB },
|
{ 7,0x3FFF,0xFFD3 },
|
||||||
{ 8,0xDFFF,0xFFFF }
|
{ 8,0x3FFF,0xFFFF }
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
enables = new DisplayAttributeMap_t[9]{
|
||||||
|
{ 0,0x0FFF, 0xFFFF },
|
||||||
|
{ 1,0x0FFF,0xFFE1 },
|
||||||
|
{ 2,0x0FFF,0xFE07 },
|
||||||
|
{ 3,0x0FFF,0xFE07 },
|
||||||
|
{ 4,0x0FFF,0xFE01 },
|
||||||
|
{ 5,0x0FFF,0xFF0B },
|
||||||
|
{ 6,0x0FFF,0xFFF9 },
|
||||||
|
{ 7,0x0FFF,0xFFD3 },
|
||||||
|
{ 8,0x0FFF,0xFFFF }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// 0x1 Operation Menu Back /0x2 On / Off 0x4 Clear Dose 0x8 Toggle Telemtry 0x10 Responder Trigger
|
// 0x1 Operation Menu Back /0x2 On / Off 0x4 Clear Dose 0x8 Toggle Telemtry 0x10 Responder Trigger
|
||||||
// 1 0 0 0 0
|
// 1 0 0 0 0
|
||||||
|
|
||||||
|
|
@ -1651,7 +1721,7 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
||||||
0x0000 ,
|
0x0000 ,
|
||||||
0x0000 ,
|
0x0000 ,
|
||||||
0x0000 ,
|
0x0000 ,
|
||||||
0x0006 ,
|
0x0004 ,
|
||||||
0x0000
|
0x0000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1691,23 +1761,24 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
||||||
|
|
||||||
if (!r) {
|
if (!r) {
|
||||||
//OffModeDisplay
|
//OffModeDisplay
|
||||||
//batchstep = 0;
|
|
||||||
dutyCycle = (OffModeDutyCycle)0;
|
dutyCycle = (OffModeDutyCycle)0;
|
||||||
offModeDispId = (OffModeDisplayId_t)1;
|
offModeDispId = (OffModeDisplayId_t)1;
|
||||||
SetFunctionReturnValue(eFunctions::WriteOffModeDisplay_R3,1);
|
SetFunctionReturnValue(eFunctions::WriteOffModeDisplay_R3,1);
|
||||||
token = BeginWriteOffModeDisplay_R3(epdComsHandle, dutyCycle, offModeDispId, nullptr);
|
token = BeginWriteOffModeDisplay_R3(epdComsHandle, dutyCycle, offModeDispId, nullptr);
|
||||||
r = CommitAndEnd2RV(EndWriteOffModeDisplay_R3, token);
|
r = CommitAndEnd2RV(EndWriteOffModeDisplay_R3, token);
|
||||||
|
|
||||||
//SwitchOnFromButton
|
|
||||||
//batchstep = 1;
|
|
||||||
uint8_t OnOfenabled = 0;
|
uint8_t OnOfenabled = 0;
|
||||||
//s[batchstep] = SetFunctionReturnValue(eFunctions::WriteSwitchOnFromButton_R3, 0);
|
|
||||||
//btoken[batchstep] = BeginWriteSwitchOnFromButton_R3(epdComsHandle, OnOfenabled, nullptr);
|
|
||||||
|
|
||||||
SetFunctionReturnValue(eFunctions::WriteSwitchOnFromButton_R3, 0);
|
SetFunctionReturnValue(eFunctions::WriteSwitchOnFromButton_R3, 0);
|
||||||
token = BeginWriteSwitchOnFromButton_R3(epdComsHandle, OnOfenabled, nullptr);
|
token = BeginWriteSwitchOnFromButton_R3(epdComsHandle, OnOfenabled, nullptr);
|
||||||
r = CommitAndEnd2RV(EndWriteSwitchOnFromButton_R3, token);
|
r = CommitAndEnd2RV(EndWriteSwitchOnFromButton_R3, token);
|
||||||
|
|
||||||
|
SetFunctionReturnValue(eFunctions::WriteAccessLevelOpen, 0);
|
||||||
|
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Open,nullptr,0, nullptr);
|
||||||
|
r = CommitAndEnd2RV(EndWriteAccessLevel, token);
|
||||||
|
|
||||||
|
Sleep(200);
|
||||||
|
r = DisconnectAndConnect();
|
||||||
|
|
||||||
Error = r;
|
Error = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,12 @@
|
||||||
#define MaxSteps 50
|
#define MaxSteps 50
|
||||||
#define MaxBatch 4
|
#define MaxBatch 4
|
||||||
#define ResponseTimeout 2500
|
#define ResponseTimeout 2500
|
||||||
|
#define DiagnosticsWriteSize 256
|
||||||
|
|
||||||
namespace Epd3Base {
|
namespace Epd3Base {
|
||||||
enum eFunctions {
|
enum eFunctions {
|
||||||
ReadSensitivities, ReadDetectorThresholds, fReadDoses, ReadTotalDoses, ReadQualityData, ReadPeakRates, ClearTotalDose, ClearDose, ClearPeakRates, ClearFaultStatus, ClearLatchedAlarms, EpdOnOff, ReadAlarmConfiguration, ReadAlarmThresholds, WriteAlarmThresholds, WriteRateOffPercentage, DeissueEPD, SetBaselineCounters, WriteWearerId, ReadBaselineCounts, MfrLogin_R2, WriteSensitivities_R2, WriteAccessLevel
|
ReadSensitivities, ReadDetectorThresholds, fReadDoses, ReadTotalDoses, ReadQualityData, ReadPeakRates, ClearTotalDose, ClearDose, ClearPeakRates, ClearFaultStatus, ClearLatchedAlarms, EpdOnOff, ReadAlarmConfiguration, ReadAlarmThresholds, WriteAlarmThresholds, WriteRateOffPercentage, DeissueEPD, SetBaselineCounters, WriteWearerId, ReadBaselineCounts, MfrLogin_R2, WriteSensitivities_R2
|
||||||
|
, WriteAccessLevelAdmin, WriteAccessLevelOpen
|
||||||
, WriteQuickAccessDisplays_R3, WriteDisplayEnables_R3, WriteDisplayEnablePermissions_R3, WriteAlarmConfiguration_R3, WriteOffModeDisplay_R3, WriteSwitchOnFromButton_R3
|
, WriteQuickAccessDisplays_R3, WriteDisplayEnables_R3, WriteDisplayEnablePermissions_R3, WriteAlarmConfiguration_R3, WriteOffModeDisplay_R3, WriteSwitchOnFromButton_R3
|
||||||
, WriteChirpSensitivity, WriteChirpEnable_R3
|
, WriteChirpSensitivity, WriteChirpEnable_R3
|
||||||
, WriteRTC_R3
|
, WriteRTC_R3
|
||||||
|
|
@ -30,6 +32,8 @@ namespace Epd3Base {
|
||||||
, fDisconnect , fDisconnectAndNotify
|
, fDisconnect , fDisconnectAndNotify
|
||||||
, fStartDiscover
|
, fStartDiscover
|
||||||
, IssueEPD, EnableProtectedSession
|
, IssueEPD, EnableProtectedSession
|
||||||
|
, fCreateReaderInterface,fOpenReader
|
||||||
|
, TestVibe
|
||||||
};
|
};
|
||||||
class Epd3U
|
class Epd3U
|
||||||
{
|
{
|
||||||
|
|
@ -57,6 +61,7 @@ namespace Epd3Base {
|
||||||
WORD ErrorData;
|
WORD ErrorData;
|
||||||
|
|
||||||
int ConnectRetries = 0;
|
int ConnectRetries = 0;
|
||||||
|
int OpenRetries = 0;
|
||||||
BYTE isConnected = 0;
|
BYTE isConnected = 0;
|
||||||
|
|
||||||
int32_t Dll3RV;
|
int32_t Dll3RV;
|
||||||
|
|
@ -271,12 +276,14 @@ namespace Epd3Base {
|
||||||
int OpenDev(DiscoveryId DeviceID);
|
int OpenDev(DiscoveryId DeviceID);
|
||||||
int ReOpenDev();
|
int ReOpenDev();
|
||||||
int DisCon(UINT16 alarm);
|
int DisCon(UINT16 alarm);
|
||||||
|
int DisconnectAndConnect();
|
||||||
|
|
||||||
void CloseDev(bool CloseAll);
|
void CloseDev(bool CloseAll);
|
||||||
void DecodeStatus();
|
void DecodeStatus();
|
||||||
int SetTime();
|
int SetTime();
|
||||||
|
|
||||||
int ReadStatus();
|
int ReadStatusOnly(void);
|
||||||
|
int ReadStatus(bool statusOnly);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void decodeCounters(int count);
|
void decodeCounters(int count);
|
||||||
|
|
@ -288,8 +295,8 @@ namespace Epd3Base {
|
||||||
void decodetotDoses(int count);
|
void decodetotDoses(int count);
|
||||||
void decodeDoses(int count);
|
void decodeDoses(int count);
|
||||||
void decodePeakRates(int count);
|
void decodePeakRates(int count);
|
||||||
public:
|
|
||||||
|
|
||||||
|
public:
|
||||||
int SetFunctionReturnValue(eFunctions f, BYTE CanIgnore);
|
int SetFunctionReturnValue(eFunctions f, BYTE CanIgnore);
|
||||||
void SetCommitReturnValue(int rv);
|
void SetCommitReturnValue(int rv);
|
||||||
void SetCommitReturnValue(int step, int rv);
|
void SetCommitReturnValue(int step, int rv);
|
||||||
|
|
@ -325,6 +332,9 @@ namespace Epd3Base {
|
||||||
private:
|
private:
|
||||||
int WriteConfig(void);
|
int WriteConfig(void);
|
||||||
void ResetStepReturnValues();
|
void ResetStepReturnValues();
|
||||||
|
|
||||||
|
public:
|
||||||
|
char DiagnosticsWrite[DiagnosticsWriteSize];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -781,7 +781,7 @@ int EpdBaseClr::Epd2::GetAll(bool close)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
//main entry point for exit
|
// Main entry point for exit
|
||||||
int EpdBaseClr::Epd2::GetAllDeissue(bool reconnect)
|
int EpdBaseClr::Epd2::GetAllDeissue(bool reconnect)
|
||||||
{
|
{
|
||||||
ErrorRV = ErrorStep = 0;
|
ErrorRV = ErrorStep = 0;
|
||||||
|
|
@ -812,10 +812,12 @@ int EpdBaseClr::Epd2::IssueAndCheck(float gain,float ChirpRate, bool WriteConfig
|
||||||
if (!isMK3) {
|
if (!isMK3) {
|
||||||
BeforeSetIssued(epd);
|
BeforeSetIssued(epd);
|
||||||
rv = epd->IssueAndCheck(gain);
|
rv = epd->IssueAndCheck(gain);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
epd3->WriteConfig32 = WriteConfig;
|
epd3->WriteConfig32 = WriteConfig;
|
||||||
BeforeSetIssued(epd3); //geen interactie met epd
|
BeforeSetIssued(epd3); //geen interactie met epd
|
||||||
rv = epd3->IssueAndCheck(gain, ChirpRate); // set step,error
|
rv = epd3->IssueAndCheck(gain, ChirpRate); // set step,error
|
||||||
|
EPDIssued = epd3->EPDIssued;
|
||||||
}
|
}
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char comPort[] = "COM7";
|
char comPort[] = "COM3";
|
||||||
CommsHandle epdComsHandle;
|
CommsHandle epdComsHandle;
|
||||||
uint32_t EpdID;
|
uint32_t EpdID;
|
||||||
EpdGeneration EpdGen;
|
EpdGeneration EpdGen;
|
||||||
|
|
|
||||||
|
|
@ -390,7 +390,13 @@ UPDATE [dbo].[Visit] SET InitError=@InitError WHERE ID_Station=@ID_Station AND I
|
||||||
go
|
go
|
||||||
GRANT EXECUTE ON [dbo].[VisitInitConfirm] TO [eDosStation];
|
GRANT EXECUTE ON [dbo].[VisitInitConfirm] TO [eDosStation];
|
||||||
GO
|
GO
|
||||||
ALTER PROCEDURE [dbo].[VisitInit] @PersID INT,
|
ALTER TABLE DBO.PersonInfoSnapshot ADD Info XML;
|
||||||
|
GO
|
||||||
|
IF OBJECT_ID('[dbo].[LocalEPD]') IS NULL BEGIN
|
||||||
|
CREATE TABLE [dbo].[LocalEPD] ( [ID_STATION] INT NOT NULL , [EPD_InternalID] VARCHAR(8) NOT NULL, [ID_EPD] INT NOT NULL, [LastUsed] DATETIME null, PRIMARY KEY([ID_STATION],[EPD_InternalID]) )
|
||||||
|
end
|
||||||
|
GO
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[VisitInit] @PersID INT,
|
||||||
@ID_Task INT,
|
@ID_Task INT,
|
||||||
@Inst_CODE INT,
|
@Inst_CODE INT,
|
||||||
@EPD_InternalID INT,
|
@EPD_InternalID INT,
|
||||||
|
|
@ -399,10 +405,12 @@ ALTER PROCEDURE [dbo].[VisitInit] @PersID INT,
|
||||||
@ID_Station INT NULL,
|
@ID_Station INT NULL,
|
||||||
@ID_Visit INT,
|
@ID_Visit INT,
|
||||||
@ENTRY_EPD_CLOCK DECIMAL(10, 0) NULL,
|
@ENTRY_EPD_CLOCK DECIMAL(10, 0) NULL,
|
||||||
@epdType TINYINT = NULL
|
@epdType TINYINT = NULL,
|
||||||
|
@InitError INT = 0
|
||||||
AS
|
AS
|
||||||
--Local !!
|
--Local !!
|
||||||
DECLARE @ID_EPD INT ;
|
DECLARE @ID_EPD INT ;
|
||||||
|
DECLARE @now DATETIME = GETDATE() ;
|
||||||
|
|
||||||
IF @ID_Station IS NULL
|
IF @ID_Station IS NULL
|
||||||
SELECT
|
SELECT
|
||||||
|
|
@ -417,14 +425,157 @@ WHERE [EPD_InternalID] = @EPD_InternalID;
|
||||||
|
|
||||||
IF @ID_EPD IS NULL BEGIN
|
IF @ID_EPD IS NULL BEGIN
|
||||||
INSERT [dbo].[EPD]([EPD_InternalID], [EPD_sn], [EPDType])
|
INSERT [dbo].[EPD]([EPD_InternalID], [EPD_sn], [EPDType])
|
||||||
VALUES(@EPD_InternalID, CONVERT(VARCHAR(8), @EPD_InternalID), CASE WHEN @epdType IS NOT NULL THEN @epdType
|
VALUES(@EPD_InternalID, CONVERT(VARCHAR(8), @EPD_InternalID), CASE WHEN @epdType IS NOT NULL
|
||||||
WHEN @isBG = 0 THEN 2 ELSE 0 END);
|
THEN @epdType
|
||||||
|
WHEN @isBG = 0
|
||||||
|
THEN 2
|
||||||
|
ELSE 0
|
||||||
|
END) ;
|
||||||
|
|
||||||
SET @ID_EPD = SCOPE_IDENTITY() ;
|
SET @ID_EPD = SCOPE_IDENTITY() ;
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
INSERT [dbo].[Visit]([ID_Station], [PersID], [Inst_CODE], [ID_Visit], [ID_Task], [EntryTime], [ID_EPD], [isBG], [isComplete], [isDeleted], [isAlarmCleared], [isAlarm], [isManualExit], [ENTRY_EPD_CLOCK], [EXIT_EPD_CLOCK], [epdType], [epdID],InitError)
|
IF NOT EXISTS
|
||||||
VALUES(@ID_Station, @PersID, @Inst_CODE, @ID_Visit, @ID_Task, GETDATE(), @ID_EPD, @isBG, 0, 0, 0, 0, 0, @ENTRY_EPD_CLOCK, @ENTRY_EPD_CLOCK, @epdType, @EPD_InternalID,0);
|
(
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM [dbo].[LocalEPD]
|
||||||
|
WHERE [ID_Station] = @ID_Station
|
||||||
|
AND [EPD_InternalID] = @EPD_InternalID
|
||||||
|
)
|
||||||
|
INSERT [dbo].[LocalEPD]([ID_EPD], [ID_Station], [EPD_InternalID], LastUsed)
|
||||||
|
VALUES(@ID_EPD, @ID_Station, CONVERT(VARCHAR(8), @EPD_InternalID), @now) ;
|
||||||
|
ELSE
|
||||||
|
UPDATE
|
||||||
|
[dbo].[LocalEPD]
|
||||||
|
SET
|
||||||
|
[LastUsed] = @now
|
||||||
|
WHERE [ID_Station] = @ID_Station
|
||||||
|
AND [EPD_InternalID] = @EPD_InternalID ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INSERT [dbo].[Visit]([ID_Station], [PersID], [Inst_CODE], [ID_Visit], [ID_Task], [EntryTime], [ID_EPD], [isBG], [isComplete], [isDeleted], [isAlarmCleared], [isAlarm], [isManualExit], [ENTRY_EPD_CLOCK], [EXIT_EPD_CLOCK], [epdType], [epdID], [InitError] )
|
||||||
|
VALUES(@ID_Station, @PersID, @Inst_CODE, @ID_Visit, @ID_Task, @now, @ID_EPD, @isBG, 0, 0, 0, 0, 0, @ENTRY_EPD_CLOCK, @ENTRY_EPD_CLOCK, @epdType, @EPD_InternalID, @InitError ) ;
|
||||||
|
|
||||||
SET @EPDVisitID = @ID_Visit * 100+@ID_Station ;
|
SET @EPDVisitID = @ID_Visit * 100+@ID_Station ;
|
||||||
|
|
||||||
GO
|
GO
|
||||||
|
USE [eDosLocal]
|
||||||
|
GO
|
||||||
|
/****** Object: StoredProcedure [dbo].[GetPersonInfo] Script Date: 9/11/2024 10:10:40 AM ******/
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[GetPersonInfo]
|
||||||
|
@CSN CHAR(14) = NULL,
|
||||||
|
@PersID INT = NULL,
|
||||||
|
@AllowMultipleEPD BIT = 0,
|
||||||
|
@CheckUser BIT = 1
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
--DECLARE @PersID INT = 12103, @CSN CHAR(14) = null,@AllowMultipleEPD BIT = 0;
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
DECLARE @lid_station INT,
|
||||||
|
@lid_visit INT;
|
||||||
|
|
||||||
|
IF @PersID IS NULL
|
||||||
|
SELECT @PersID = [PersID]
|
||||||
|
FROM [dbo].[PersonInfoSnapshot]
|
||||||
|
WHERE [CSN] = @CSN COLLATE SQL_Latin1_General_CP850_BIN;
|
||||||
|
|
||||||
|
SET NOCOUNT OFF;
|
||||||
|
|
||||||
|
SELECT TOP (1)
|
||||||
|
@lid_station = [ID_Station],
|
||||||
|
@lid_visit = [ID_Visit]
|
||||||
|
FROM [dbo].[Visit]
|
||||||
|
WHERE [PersID] = @PersID
|
||||||
|
AND [ReturnTime] IS NULL
|
||||||
|
AND [EntryTime] > DATEADD(YEAR, -1, GETDATE())
|
||||||
|
AND [InitError]=0;
|
||||||
|
|
||||||
|
SELECT [a].[PersID],
|
||||||
|
[a].[Type],
|
||||||
|
[a].[CSN],
|
||||||
|
[a].[FirstName],
|
||||||
|
[a].[LastName],
|
||||||
|
[a].[NickName],
|
||||||
|
[AccessAllow] = CONVERT( BIT,
|
||||||
|
CASE
|
||||||
|
WHEN @AllowMultipleEPD = 1
|
||||||
|
AND [a].[hasEPD] = 1 THEN
|
||||||
|
0
|
||||||
|
ELSE
|
||||||
|
[a].[AccessAllow]
|
||||||
|
END
|
||||||
|
),
|
||||||
|
[a].[Language],
|
||||||
|
[a].[MarginHP10_M],
|
||||||
|
[a].[MarginHP10_Y],
|
||||||
|
[a].[Margin],
|
||||||
|
[a].[VisitIDLocked],
|
||||||
|
[a].[ID_CommentToPerson],
|
||||||
|
[a].[Comment],
|
||||||
|
[a].[Deleted],
|
||||||
|
[ReasonNoAccess] = CASE
|
||||||
|
WHEN @AllowMultipleEPD = 1
|
||||||
|
AND [a].[hasEPD] = 1 THEN
|
||||||
|
'EPD not returned'
|
||||||
|
WHEN ISNULL([VisitIDLocked], 0) > 0 THEN
|
||||||
|
'Locked because of alarm'
|
||||||
|
ELSE
|
||||||
|
[a].[ReasonNoAccess]
|
||||||
|
END,
|
||||||
|
[a].[Dose_52W_microSv],
|
||||||
|
[a].[hasEPD],
|
||||||
|
[activeStation] = @lid_station,
|
||||||
|
[activeVisit] = @lid_visit,
|
||||||
|
[a].[isAgent]
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT [p].[PersID],
|
||||||
|
[p].[Type],
|
||||||
|
[p].[CSN],
|
||||||
|
[p].[FirstName],
|
||||||
|
[p].[LastName],
|
||||||
|
[p].[NickName],
|
||||||
|
[AccessAllow] = CASE
|
||||||
|
WHEN @CheckUser = 0 THEN
|
||||||
|
1
|
||||||
|
ELSE
|
||||||
|
[p].[AccessAllow]
|
||||||
|
END,
|
||||||
|
[p].[Language],
|
||||||
|
[p].[MarginHP10_M],
|
||||||
|
[p].[MarginHP10_Y],
|
||||||
|
[p].[Margin],
|
||||||
|
[p].[VisitIDLocked],
|
||||||
|
[p].[ID_CommentToPerson],
|
||||||
|
[p].[Comment],
|
||||||
|
[p].[Deleted],
|
||||||
|
[p].[ReasonNoAccess],
|
||||||
|
[p].[Dose_52W_microSv],
|
||||||
|
[hasEPD] = CONVERT( BIT,
|
||||||
|
CASE
|
||||||
|
WHEN @lid_visit IS NOT NULL THEN
|
||||||
|
1
|
||||||
|
ELSE
|
||||||
|
0
|
||||||
|
END
|
||||||
|
),
|
||||||
|
[isAgent] = CONVERT( BIT,
|
||||||
|
CASE
|
||||||
|
WHEN [p].[isAgent] IS NULL THEN
|
||||||
|
0
|
||||||
|
ELSE
|
||||||
|
[p].[isAgent]
|
||||||
|
END
|
||||||
|
)
|
||||||
|
FROM [dbo].[PersonInfoSnapshot] [p]
|
||||||
|
WHERE [p].[PersID] = @PersID
|
||||||
|
) [a];
|
||||||
|
END;
|
||||||
|
|
|
||||||
|
|
@ -61,4 +61,8 @@
|
||||||
<None Include="UpdateLocal.sql" />
|
<None Include="UpdateLocal.sql" />
|
||||||
<None Include="Updates.sql" />
|
<None Include="Updates.sql" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Build Include="eDosLocalProcedures.sql" />
|
||||||
|
<Build Include="eDosLocalTables.sql" />
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
BIN
eDosLocal/eDosLocalProcedures.sql
Normal file
BIN
eDosLocal/eDosLocalProcedures.sql
Normal file
Binary file not shown.
BIN
eDosLocal/eDosLocalTables.sql
Normal file
BIN
eDosLocal/eDosLocalTables.sql
Normal file
Binary file not shown.
|
|
@ -220,6 +220,7 @@ namespace eDosStation
|
||||||
, new System.Data.SqlClient.SqlParameter("ID_Visit",SqlDbType.Int,0,System.Data.ParameterDirection.Input,false,0,0,null,System.Data.DataRowVersion.Default,null)
|
, new System.Data.SqlClient.SqlParameter("ID_Visit",SqlDbType.Int,0,System.Data.ParameterDirection.Input,false,0,0,null,System.Data.DataRowVersion.Default,null)
|
||||||
, new System.Data.SqlClient.SqlParameter("ENTRY_EPD_CLOCK",SqlDbType.Decimal,0,System.Data.ParameterDirection.Input,false,10,0,null,System.Data.DataRowVersion.Default,null)
|
, new System.Data.SqlClient.SqlParameter("ENTRY_EPD_CLOCK",SqlDbType.Decimal,0,System.Data.ParameterDirection.Input,false,10,0,null,System.Data.DataRowVersion.Default,null)
|
||||||
, new System.Data.SqlClient.SqlParameter("epdType",SqlDbType.TinyInt,0,System.Data.ParameterDirection.Input,false,0,0,null,System.Data.DataRowVersion.Default,null)
|
, new System.Data.SqlClient.SqlParameter("epdType",SqlDbType.TinyInt,0,System.Data.ParameterDirection.Input,false,0,0,null,System.Data.DataRowVersion.Default,null)
|
||||||
|
, new System.Data.SqlClient.SqlParameter("InitError",SqlDbType.Int,0,System.Data.ParameterDirection.Input,false,0,0,null,System.Data.DataRowVersion.Default,null)
|
||||||
});
|
});
|
||||||
|
|
||||||
VisitInitConfirmCommand = new System.Data.SqlClient.SqlCommand("[dbo].[VisitInitConfirm]", localConnection) { CommandType = System.Data.CommandType.StoredProcedure };
|
VisitInitConfirmCommand = new System.Data.SqlClient.SqlCommand("[dbo].[VisitInitConfirm]", localConnection) { CommandType = System.Data.CommandType.StoredProcedure };
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,8 @@ namespace eDosStation
|
||||||
"ReadBaselineCounts",
|
"ReadBaselineCounts",
|
||||||
"MfrLogin_R2",
|
"MfrLogin_R2",
|
||||||
"WriteSensitivities_R2",
|
"WriteSensitivities_R2",
|
||||||
"WriteAccessLevel",
|
"WriteAccessLevelAmin",
|
||||||
|
"WriteAccessLevelOpen",
|
||||||
"WriteQuickAccessDisplays_R3",
|
"WriteQuickAccessDisplays_R3",
|
||||||
"WriteDisplayEnables_R3",
|
"WriteDisplayEnables_R3",
|
||||||
"WriteDisplayEnablePermissions_R3",
|
"WriteDisplayEnablePermissions_R3",
|
||||||
|
|
@ -45,6 +46,8 @@ namespace eDosStation
|
||||||
,"DestroyReaderInterface" //0=ok
|
,"DestroyReaderInterface" //0=ok
|
||||||
,"Disconnect" , "DisconnectAndNotify" //0=ok
|
,"Disconnect" , "DisconnectAndNotify" //0=ok
|
||||||
,"StartDiscover","IssueEPD","EnableProtectedSession_R3"
|
,"StartDiscover","IssueEPD","EnableProtectedSession_R3"
|
||||||
|
,"CreateReaderInterface"
|
||||||
|
,"OpenReader","TestVibe"
|
||||||
};
|
};
|
||||||
|
|
||||||
private static string GetName(int func)
|
private static string GetName(int func)
|
||||||
|
|
|
||||||
|
|
@ -292,7 +292,7 @@
|
||||||
</Grid>
|
</Grid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Name="tbEPD" FontSize="25" >
|
<TabItem Name="tbEPD" FontSize="25" >
|
||||||
<Grid DataContext="{Binding Mode=OneWay, Source={StaticResource getTaskListViewSource}}" >
|
<Grid DataContext="{Binding Mode=OneWay, Source={StaticResource getTaskListViewSource}}" Margin="0,0,0,218" >
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
|
|
@ -300,7 +300,7 @@
|
||||||
<RowDefinition Height="20" />
|
<RowDefinition Height="20" />
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<StackPanel Grid.Row="0" Name="panelWait" VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical" >
|
<StackPanel Grid.Row="0" Name="panelWait" VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical" Visibility="Collapsed" >
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<Image Source="/Images/Mannetjet.png" Width="87" HorizontalAlignment="Left"/>
|
<Image Source="/Images/Mannetjet.png" Width="87" HorizontalAlignment="Left"/>
|
||||||
<TextBlock Name="tWaitFor" Margin="10,100,10,100" FontWeight="Bold" TextAlignment="Center" >
|
<TextBlock Name="tWaitFor" Margin="10,100,10,100" FontWeight="Bold" TextAlignment="Center" >
|
||||||
|
|
@ -319,6 +319,7 @@
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
|
<RowDefinition Height="5" />
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
|
|
@ -335,44 +336,41 @@
|
||||||
<ColumnDefinition Width="auto" />
|
<ColumnDefinition Width="auto" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Style="{StaticResource tblHeaderLabel}" >
|
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Style="{StaticResource tblHeaderLabel}" Name="FinalHeader">
|
||||||
<Run>Ready</Run>
|
<Run>Ready</Run>
|
||||||
<LineBreak/>
|
<LineBreak/>
|
||||||
<Run Foreground="Green">Please take your EPD</Run>
|
<Run Foreground="Green">Please take your EPD</Run>
|
||||||
<LineBreak/>
|
<LineBreak/>
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Grid.Row="1" Grid.Column="0" Text="Task" Style="{StaticResource tblIssuedLabel}" />
|
|
||||||
<TextBlock Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2">
|
<TextBlock Grid.Row="2" Grid.Column="0" Text="Task" Style="{StaticResource tblIssuedLabel}" />
|
||||||
|
<TextBlock Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2">
|
||||||
<Run Text="{Binding Task_Name,Mode=OneWay}" />
|
<Run Text="{Binding Task_Name,Mode=OneWay}" />
|
||||||
<Run Text=" (" />
|
<Run Text=" (" />
|
||||||
<Run Text="{Binding ID_Task,Mode=OneWay}" />
|
<Run Text="{Binding ID_Task,Mode=OneWay}" />
|
||||||
<Run Text=")" />
|
<Run Text=")" />
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
|
|
||||||
<TextBlock Grid.Row="2" Grid.Column="0" Text="Margin" Style="{StaticResource tblIssuedLabel}" TextAlignment="Right"/>
|
<TextBlock Grid.Row="3" Grid.Column="0" Text="Margin" Style="{StaticResource tblIssuedLabel}" TextAlignment="Right"/>
|
||||||
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding MinWorkerDosisMargin,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}" />
|
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding MinWorkerDosisMargin,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}" />
|
||||||
|
<TextBlock Grid.Row="4" Grid.Column="1" Name="lbHP07" Text="HP07" Style="{DynamicResource sIssuedSubHeader}" />
|
||||||
|
<TextBlock Grid.Row="4" Grid.Column="2" Name="lbHP10" Text="HP10" Style="{DynamicResource sIssuedSubHeader}" />
|
||||||
|
|
||||||
<TextBlock Grid.Row="3" Grid.Column="1" Name="lbHP07" Text="HP07" Style="{DynamicResource sIssuedSubHeader}" />
|
<TextBlock Grid.Row="5" Grid.ColumnSpan="2" Grid.Column="1" Text="Doses (µSv)" Style="{DynamicResource sIssuedSubHeader}" TextAlignment="Center"/>
|
||||||
<TextBlock Grid.Row="3" Grid.Column="2" Name="lbHP10" Text="HP10" Style="{DynamicResource sIssuedSubHeader}" />
|
<TextBlock Grid.Row="6" Grid.Column="0" Text="Low alarm" Style="{StaticResource tblIssuedLabel}"/>
|
||||||
|
<TextBlock Grid.Row="6" Grid.Column="2" Text="{Binding Hp10Dose1,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}" />
|
||||||
|
|
||||||
<TextBlock Grid.Row="4" Grid.ColumnSpan="2" Grid.Column="1" Text="Doses (µSv)" Style="{DynamicResource sIssuedSubHeader}" TextAlignment="Center"/>
|
<TextBlock Grid.Row="7" Grid.Column="0" Text="High alarm" Style="{StaticResource tblIssuedLabel}"/>
|
||||||
|
<TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding Hp07Dose,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
||||||
<TextBlock Grid.Row="5" Grid.Column="0" Text="Low alarm" Style="{StaticResource tblIssuedLabel}"/>
|
<TextBlock Grid.Row="7" Grid.Column="2" Text="{Binding Hp10Dose2,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
||||||
<TextBlock Grid.Row="5" Grid.Column="2" Text="{Binding Hp10Dose1,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}" />
|
|
||||||
|
|
||||||
<TextBlock Grid.Row="6" Grid.Column="0" Text="High alarm" Style="{StaticResource tblIssuedLabel}"/>
|
|
||||||
<TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding Hp07Dose,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
|
||||||
<TextBlock Grid.Row="6" Grid.Column="2" Text="{Binding Hp10Dose2,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
|
||||||
|
|
||||||
<TextBlock Grid.Row="7" Grid.ColumnSpan="2" Text="Rates (µSv/h)" Style="{DynamicResource sIssuedSubHeader}" Grid.Column="1" />
|
|
||||||
<TextBlock Grid.Row="8" Grid.Column="0" Text="Low alarm" Style="{StaticResource tblIssuedLabel}"/>
|
|
||||||
<TextBlock Grid.Row="8" Grid.Column="2" Text="{Binding HP10Rate1ON,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}" />
|
|
||||||
|
|
||||||
<TextBlock Grid.Row="9" Grid.Column="0" Text="High alarm" Style="{StaticResource tblIssuedLabel}"/>
|
|
||||||
<TextBlock Grid.Row="9" Grid.Column="1" Text="{Binding HP07RateON,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
|
||||||
<TextBlock Grid.Row="9" Grid.Column="2" Text="{Binding HP10Rate2ON,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="8" Grid.ColumnSpan="2" Text="Rates (µSv/h)" Style="{DynamicResource sIssuedSubHeader}" Grid.Column="1" />
|
||||||
|
<TextBlock Grid.Row="9" Grid.Column="0" Text="Low alarm" Style="{StaticResource tblIssuedLabel}"/>
|
||||||
|
<TextBlock Grid.Row="9" Grid.Column="2" Text="{Binding HP10Rate1ON,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}" />
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="10" Grid.Column="0" Text="High alarm" Style="{StaticResource tblIssuedLabel}"/>
|
||||||
|
<TextBlock Grid.Row="10" Grid.Column="1" Text="{Binding HP07RateON,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
||||||
|
<TextBlock Grid.Row="10" Grid.Column="2" Text="{Binding HP10Rate2ON,Mode=OneWay,StringFormat={}{0:0.00}}" Style="{StaticResource tblIssuedValue}"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center">
|
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center">
|
||||||
|
|
@ -395,7 +393,6 @@
|
||||||
<Run Text="No Access" />
|
<Run Text="No Access" />
|
||||||
<Run Name="tReasonNoAccess" Text="" />
|
<Run Name="tReasonNoAccess" Text="" />
|
||||||
<LineBreak/>
|
<LineBreak/>
|
||||||
|
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<telerik:RadButton Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" Background="LawnGreen" Padding="10,10,10,10" Content="OK" Name="bNoAccessDone" Click="bClose_Click" Style="{DynamicResource OkCancelButton}">
|
<telerik:RadButton Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" Background="LawnGreen" Padding="10,10,10,10" Content="OK" Name="bNoAccessDone" Click="bClose_Click" Style="{DynamicResource OkCancelButton}">
|
||||||
</telerik:RadButton>
|
</telerik:RadButton>
|
||||||
|
|
|
||||||
|
|
@ -239,17 +239,18 @@ namespace eDosStation
|
||||||
dataInterface.VisitInitCommand.Parameters["ENTRY_EPD_CLOCK"].Value = ep.CountsClock;
|
dataInterface.VisitInitCommand.Parameters["ENTRY_EPD_CLOCK"].Value = ep.CountsClock;
|
||||||
dataInterface.VisitInitCommand.Parameters["epdType"].Value = (byte)ep.epdType;
|
dataInterface.VisitInitCommand.Parameters["epdType"].Value = (byte)ep.epdType;
|
||||||
dataInterface.VisitInitCommand.Parameters["EPDVisitID"].Value = 0;
|
dataInterface.VisitInitCommand.Parameters["EPDVisitID"].Value = 0;
|
||||||
using (var l = new SqlLog())
|
dataInterface.VisitInitCommand.Parameters["InitError"].Value = 0;
|
||||||
try
|
//using (var l = new SqlLog())
|
||||||
{
|
// try
|
||||||
dataInterface.VisitInitCommand.ExecuteNonQuery();
|
// {
|
||||||
l.LogCommand(dataInterface.VisitInitCommand);
|
// dataInterface.VisitInitCommand.ExecuteNonQuery();
|
||||||
}
|
// l.LogCommand(dataInterface.VisitInitCommand);
|
||||||
catch (System.Exception ex)
|
// }
|
||||||
{
|
// catch (System.Exception ex)
|
||||||
l.LogCommand(ex.Message);
|
// {
|
||||||
MessageBox.Show(ex.Message);
|
// l.LogCommand(ex.Message);
|
||||||
}
|
// MessageBox.Show(ex.Message);
|
||||||
|
// }
|
||||||
//StationVisitID = (int?)dataInterface.VisitInitCommand.Parameters["EPDVisitID"].Value;
|
//StationVisitID = (int?)dataInterface.VisitInitCommand.Parameters["EPDVisitID"].Value;
|
||||||
StationVisitID = ID_Visit * 100 + thisStation.ID_Station;
|
StationVisitID = ID_Visit * 100 + thisStation.ID_Station;
|
||||||
//co.Close();
|
//co.Close();
|
||||||
|
|
@ -318,6 +319,7 @@ namespace eDosStation
|
||||||
if (!CurTaskRow.IsChirpRateNull()) ChirpRate = (int)CurTaskRow.ChirpRate;
|
if (!CurTaskRow.IsChirpRateNull()) ChirpRate = (int)CurTaskRow.ChirpRate;
|
||||||
|
|
||||||
//doing stuff on EPD
|
//doing stuff on EPD
|
||||||
|
|
||||||
int rv = ep.IssueAndCheck(gain, ChirpRate, thisStation.WriteConfig);
|
int rv = ep.IssueAndCheck(gain, ChirpRate, thisStation.WriteConfig);
|
||||||
|
|
||||||
if (rv != 0 || thisStation.LogAll || ep.HasStepError())
|
if (rv != 0 || thisStation.LogAll || ep.HasStepError())
|
||||||
|
|
@ -330,28 +332,50 @@ namespace eDosStation
|
||||||
lbHP07.Text = ep.Hp07Name;
|
lbHP07.Text = ep.Hp07Name;
|
||||||
lbHP10.Text = ep.Hp10Name;
|
lbHP10.Text = ep.Hp10Name;
|
||||||
|
|
||||||
if (rv != 0)
|
if (ep.EPDIssued)
|
||||||
|
{
|
||||||
|
using (var l = new SqlLog())
|
||||||
{
|
{
|
||||||
MessageBox.Show($"SetIssued error {rv}");
|
|
||||||
step = "SqlConfirmVisit";
|
|
||||||
dataInterface.VisitInitConfirmCommand.Connection = co;
|
|
||||||
dataInterface.VisitInitConfirmCommand.Parameters["ID_Station"].Value = thisStation.ID_Station;
|
|
||||||
dataInterface.VisitInitConfirmCommand.Parameters["ID_Visit"].Value = ID_Visit;
|
|
||||||
dataInterface.VisitInitConfirmCommand.Parameters["InitError"].Value = rv;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
dataInterface.VisitInitConfirmCommand.ExecuteNonQuery();
|
dataInterface.VisitInitCommand.Parameters["InitError"].Value = rv;
|
||||||
//l.LogCommand(dataInterface.VisitInitCommand);
|
dataInterface.VisitInitCommand.ExecuteNonQuery();
|
||||||
|
l.LogCommand(dataInterface.VisitInitCommand);
|
||||||
}
|
}
|
||||||
catch (System.Exception ex)
|
catch (System.Exception ex)
|
||||||
{
|
{
|
||||||
//l.LogCommand(ex.Message);
|
l.LogCommand(ex.Message);
|
||||||
MessageBox.Show(ex.Message);
|
|
||||||
thisStation.splunkLog.WriteException(module, step, ex);
|
thisStation.splunkLog.WriteException(module, step, ex);
|
||||||
|
MessageBox.Show(ex.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
//if (rv != 0)
|
||||||
|
//{
|
||||||
|
// MessageBox.Show($"SetIssued error {rv}");
|
||||||
|
// step = "SqlConfirmVisit";
|
||||||
|
// dataInterface.VisitInitConfirmCommand.Connection = co;
|
||||||
|
// dataInterface.VisitInitConfirmCommand.Parameters["ID_Station"].Value = thisStation.ID_Station;
|
||||||
|
// dataInterface.VisitInitConfirmCommand.Parameters["ID_Visit"].Value = ID_Visit;
|
||||||
|
// dataInterface.VisitInitConfirmCommand.Parameters["InitError"].Value = rv;
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// dataInterface.VisitInitConfirmCommand.ExecuteNonQuery();
|
||||||
|
// //l.LogCommand(dataInterface.VisitInitCommand);
|
||||||
|
// }
|
||||||
|
// catch (System.Exception ex)
|
||||||
|
// {
|
||||||
|
// //l.LogCommand(ex.Message);
|
||||||
|
// MessageBox.Show(ex.Message);
|
||||||
|
// thisStation.splunkLog.WriteException(module, step, ex);
|
||||||
|
// l.LogCommand(ex.Message);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
MessageBox.Show("No registration",string.Empty,MessageBoxButton.OK,MessageBoxImage.Error);
|
||||||
co.Close();
|
co.Close();
|
||||||
ShowFinal();
|
ShowFinal(rv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -369,8 +393,27 @@ namespace eDosStation
|
||||||
new Action(delegate { }));
|
new Action(delegate { }));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowFinal()
|
|
||||||
|
private void ShowFinal(int ReturnValue)
|
||||||
{
|
{
|
||||||
|
Run run;
|
||||||
|
FinalHeader.Inlines.Clear();
|
||||||
|
if (ReturnValue == 0) {
|
||||||
|
FinalHeader.Inlines.Add(Properties.Resources.FinalEpdOkHeader);
|
||||||
|
FinalHeader.Inlines.Add(new LineBreak());
|
||||||
|
run = new Run(Properties.Resources.FinalEpdOkSecond);
|
||||||
|
run.Foreground = System.Windows.Media.Brushes.Green;
|
||||||
|
run.Background= System.Windows.Media.Brushes.White;
|
||||||
|
FinalHeader.Inlines.Add(run);
|
||||||
|
} else {
|
||||||
|
FinalHeader.Inlines.Add(Properties.Resources.FinalEpdNotOkHeader);
|
||||||
|
FinalHeader.Inlines.Add(new LineBreak());
|
||||||
|
run = new Run(Properties.Resources.FinalEpdNotOkSecond);
|
||||||
|
run.Foreground = System.Windows.Media.Brushes.Red;
|
||||||
|
run.Background = System.Windows.Media.Brushes.Yellow;
|
||||||
|
FinalHeader.Inlines.Add(run);
|
||||||
|
}
|
||||||
|
|
||||||
FinalTimeOut = false;
|
FinalTimeOut = false;
|
||||||
dispatcherTimer = new DispatcherTimer(DispatcherPriority.Background);
|
dispatcherTimer = new DispatcherTimer(DispatcherPriority.Background);
|
||||||
dispatcherTimer.Interval = thisStation.InfoProgressbarInterval;
|
dispatcherTimer.Interval = thisStation.InfoProgressbarInterval;
|
||||||
|
|
@ -378,7 +421,7 @@ namespace eDosStation
|
||||||
ResultTime = DateTime.Now.AddSeconds(thisStation.InfoScreenTimeout);
|
ResultTime = DateTime.Now.AddSeconds(thisStation.InfoScreenTimeout);
|
||||||
pWaitEpd.Value = pWaitEpd.Maximum = thisStation.InfoScreenTimeout;
|
pWaitEpd.Value = pWaitEpd.Maximum = thisStation.InfoScreenTimeout;
|
||||||
pWaitEpd.Visibility = Visibility.Visible;
|
pWaitEpd.Visibility = Visibility.Visible;
|
||||||
tWaitFor.Text = "EPD Ready ";
|
|
||||||
panelWait.Visibility = Visibility.Collapsed;
|
panelWait.Visibility = Visibility.Collapsed;
|
||||||
panelDone.Visibility = Visibility.Visible;
|
panelDone.Visibility = Visibility.Visible;
|
||||||
bEpdCancel.Content = "OK"; bEpdCancel.IsEnabled = true;
|
bEpdCancel.Content = "OK"; bEpdCancel.IsEnabled = true;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace eDosStation
|
||||||
{
|
{
|
||||||
string ers = string.Empty;
|
string ers = string.Empty;
|
||||||
|
|
||||||
if (thisStation.RestartCom && (thisStation.RestartComFirst == true))
|
if (thisStation.RestartCom && thisStation.RestartComFirst )
|
||||||
{
|
{
|
||||||
thisStation.DeviceRestart();
|
thisStation.DeviceRestart();
|
||||||
}
|
}
|
||||||
|
|
@ -35,7 +35,7 @@ namespace eDosStation
|
||||||
var w = new ShowEPDDose(thisStation);
|
var w = new ShowEPDDose(thisStation);
|
||||||
w.ShowDialog();
|
w.ShowDialog();
|
||||||
|
|
||||||
if (thisStation.RestartCom && (thisStation.RestartComFirst == true))
|
if (thisStation.RestartCom && !thisStation.RestartComFirst )
|
||||||
{
|
{
|
||||||
thisStation.DeviceRestart();
|
thisStation.DeviceRestart();
|
||||||
}
|
}
|
||||||
|
|
@ -49,7 +49,7 @@ namespace eDosStation
|
||||||
string step = "DeviceRestart";
|
string step = "DeviceRestart";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (thisStation.RestartCom && (thisStation.RestartComFirst == true))
|
if (thisStation.RestartCom && thisStation.RestartComFirst)
|
||||||
{
|
{
|
||||||
thisStation.DeviceRestart();
|
thisStation.DeviceRestart();
|
||||||
}
|
}
|
||||||
|
|
@ -77,7 +77,7 @@ namespace eDosStation
|
||||||
step = "DeviceReset2";
|
step = "DeviceReset2";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (thisStation.RestartCom && !(thisStation.RestartComFirst == true))
|
if (thisStation.RestartCom && !thisStation.RestartComFirst)
|
||||||
{
|
{
|
||||||
thisStation.DeviceRestart();
|
thisStation.DeviceRestart();
|
||||||
}
|
}
|
||||||
|
|
@ -104,7 +104,7 @@ namespace eDosStation
|
||||||
#endif
|
#endif
|
||||||
w.ShowDialog();
|
w.ShowDialog();
|
||||||
w = null;
|
w = null;
|
||||||
if (thisStation.RestartCom && !(thisStation.RestartComFirst))
|
if (thisStation.RestartCom && !thisStation.RestartComFirst)
|
||||||
{
|
{
|
||||||
ers = thisStation.DeviceRestart();
|
ers = thisStation.DeviceRestart();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,5 +58,8 @@ using System.Windows;
|
||||||
//2.22 No clear bij deissue.
|
//2.22 No clear bij deissue.
|
||||||
//2.27 Display wait while issuing
|
//2.27 Display wait while issuing
|
||||||
//2.28 After testing
|
//2.28 After testing
|
||||||
[assembly: AssemblyVersion("2.28.0.0")]
|
//2.29 Met endcom
|
||||||
[assembly: AssemblyFileVersion("2.28.0.0")]
|
//2.30 check reset voor OF na EPD verbinding
|
||||||
|
//2.31 extra disconnect/connect
|
||||||
|
[assembly: AssemblyVersion("2.31.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("2.31.0.0")]
|
||||||
|
|
|
||||||
40
eDosStation/Properties/Resources.Designer.cs
generated
40
eDosStation/Properties/Resources.Designer.cs
generated
|
|
@ -61,7 +61,7 @@ namespace eDosStation.Properties {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Thu 05/16/2024 15:48:58.18
|
/// Looks up a localized string similar to Wed 09/11/2024 10:46:38.88
|
||||||
///.
|
///.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string BuildDate {
|
internal static string BuildDate {
|
||||||
|
|
@ -69,5 +69,43 @@ namespace eDosStation.Properties {
|
||||||
return ResourceManager.GetString("BuildDate", resourceCulture);
|
return ResourceManager.GetString("BuildDate", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to EPD Failed !.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FinalEpdNotOkHeader {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FinalEpdNotOkHeader", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Please try again
|
||||||
|
///.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FinalEpdNotOkSecond {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FinalEpdNotOkSecond", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to EPD Ready.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FinalEpdOkHeader {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FinalEpdOkHeader", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Please take your EPD
|
||||||
|
///.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FinalEpdOkSecond {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FinalEpdOkSecond", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -121,4 +121,18 @@
|
||||||
<data name="BuildDate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="BuildDate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\BuildDate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
<value>..\Resources\BuildDate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="FinalEpdNotOkHeader" xml:space="preserve">
|
||||||
|
<value>EPD Failed !</value>
|
||||||
|
</data>
|
||||||
|
<data name="FinalEpdNotOkSecond" xml:space="preserve">
|
||||||
|
<value>Please try again
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="FinalEpdOkHeader" xml:space="preserve">
|
||||||
|
<value>EPD Ready</value>
|
||||||
|
</data>
|
||||||
|
<data name="FinalEpdOkSecond" xml:space="preserve">
|
||||||
|
<value>Please take your EPD
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|
@ -1 +1 @@
|
||||||
Mon 09/09/2024 10:26:16.80
|
Wed 09/11/2024 13:50:26.43
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@
|
||||||
xmlns:local="clr-namespace:eDosStation"
|
xmlns:local="clr-namespace:eDosStation"
|
||||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Settings" Height="448.033" Width="702.744"
|
Title="Settings" Height="479.533" Width="702.744"
|
||||||
FontFamily="Segoe UI" FontSize="20"
|
FontFamily="Segoe UI" FontSize="20"
|
||||||
Loaded="Window_Loaded">
|
Loaded="Window_Loaded">
|
||||||
<Grid >
|
<Grid Margin="0,0,0,-21" >
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto" />
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,8 @@ namespace eDosStation
|
||||||
if (System.IO.File.Exists(DevConExePath)) hasCommand = true;
|
if (System.IO.File.Exists(DevConExePath)) hasCommand = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else spl?.WriteSplunkLog(className, cspl.iseverity.warning, "No Admin");
|
else
|
||||||
|
spl?.WriteSplunkLog(className, cspl.iseverity.warning, "No Admin");
|
||||||
}
|
}
|
||||||
private string ExecuteDevcon(string command)
|
private string ExecuteDevcon(string command)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -213,17 +213,17 @@ exit
|
||||||
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
|
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
|
||||||
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYwDQYJ
|
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYwDQYJ
|
||||||
# YIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
|
# YIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
|
||||||
# DQEJBTEPFw0yNDA5MDkwOTA4NDJaMC8GCSqGSIb3DQEJBDEiBCDbjZuxJgcSDufz
|
# DQEJBTEPFw0yNDA5MTExMTUwNDNaMC8GCSqGSIb3DQEJBDEiBCDbjZuxJgcSDufz
|
||||||
# +ekiprJJKPMdOid8HFavnX4C8hgeWzANBgkqhkiG9w0BAQEFAASCAgAvDFz5Vo34
|
# +ekiprJJKPMdOid8HFavnX4C8hgeWzANBgkqhkiG9w0BAQEFAASCAgCdOGquU2OU
|
||||||
# 2MO+GnnnzbqXIY3Lsho9iLPCjIl6OkJbH4HbzvU5UUEo2fGVsnINfIfOVN+slEal
|
# Q2fyo4YjFnW1g0vehLEpsMqn4snKEefbFcWDaEVlB+6+md4HrStpfx9de5woy+yQ
|
||||||
# 9dpPaFdpczYf9zEGxPYpOumWqRdIY8Xl550IF5S834PiAMzlMAu7iwjDjEspk7bG
|
# EdEI6CXC4FBu/vDo9kocHE2RGPNKBmXfBnVHX8G0VhyyjsqePymv9LpcM18IRgpf
|
||||||
# wcxKI+DdSdru4Uj88gbJWWYbt0967R7bi6TmFzuYC38g4sknmq9AklgykrtypG+I
|
# nAgBEPIeQPLc132O2iCBKr1P8/y1kuY5QbG8e5hkLP5rk6ZB5Nw5eId1oy/vMTs3
|
||||||
# inlzP3iorB9m3IfD3PmG7Rqp1qAsai4aXvyzEpM8SD/HNYlXyWa5/2GbqX3Qjhd6
|
# DEOiIaO4Cgbguxp5z4xJ2x4xXO0rYC4NP4DYAMIEUdr2TbqR0DpfibMqandsV/dK
|
||||||
# XtSqFsRfZcDThGpbi53I0LxbRYc5mWUpOgCbFq3u/fWmqJ2MYQXbmP2p0zkGu4jL
|
# Dr6MSW4G6nTkEyo+QVh+xfmgFjO+RaQwYLfIXKfuwP6W7k+nhKCNKMYRoAyjqrsC
|
||||||
# w3l7ENgL1gGJfralDftUr+UN6tjAuUtPoV3h5tvnr22EjX+Hs8g44dXtL4FN/pfL
|
# Lp/Y2WIS498FLt8qGBXOK4aTEbwCcM799m8qIKnPF2l034Y/mkjaG8G1l4xl25SA
|
||||||
# wkDvPLSBjhxoaND0/i4IzgAwWPaVuLWTSUDaZaBnxPskpfavhyT+a0V7RUutv2NZ
|
# ITWdQdBe0NQTJ0IXRX+PLejQbQlIe/tSdAMLlSYc1+MddMi+Qf1XB5IhqORDsRUL
|
||||||
# FULkI2AnX0fs8kF5XIy1K0WEAM5cyMvhD4PlZm6orNlFZI79WQ2BzDrBqUrtWQs7
|
# KKc9IqhOhZDoyBwkRxWse8lqN0mioOwHUnrlv2lTDDivkaXckuzC7pPLdFAmTHxo
|
||||||
# PddaEKi+fckABsYeV9AaGsfpbt5WsUHTG8fBK4ZL3Z5saCFgc90ZxdRf+XKwwtTL
|
# cwuMd+I2VmLgH2U7x5lALCSuPt9fbNAxvprHUTHniZVrtNH8EcCZXWs6puAgawDI
|
||||||
# FqMom33K3eSpMKabSMYAI2kNGVvMWP3HnfSpqAcKsZy7dNYG25ljZkVZKmF5JV9G
|
# LNCVc78XsA510FxdJJec+XDmx3XrC/OVP9d8H51QAzZVCak0z+tZSifHyErb19LL
|
||||||
# 2951cTy1Qfx/bm2EKcXM3J2uFM5DfpPalA==
|
# On+wO7ZduMmE9xHuwyZsuasFK1IXkxgH5w==
|
||||||
# SIG # End signature block
|
# SIG # End signature block
|
||||||
|
|
|
||||||
|
|
@ -328,17 +328,17 @@ exit
|
||||||
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
|
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
|
||||||
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYwDQYJ
|
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYwDQYJ
|
||||||
# YIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
|
# YIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
|
||||||
# DQEJBTEPFw0yNDA5MDkwOTA4NDJaMC8GCSqGSIb3DQEJBDEiBCAcllG2mSPxCJ8u
|
# DQEJBTEPFw0yNDA5MTExMTUwNDNaMC8GCSqGSIb3DQEJBDEiBCAcllG2mSPxCJ8u
|
||||||
# oQsIqOunNyELPZuVN2PuUwDZLmIbpTANBgkqhkiG9w0BAQEFAASCAgANDH5u1OSV
|
# oQsIqOunNyELPZuVN2PuUwDZLmIbpTANBgkqhkiG9w0BAQEFAASCAgBVDloKj3Yf
|
||||||
# cJXiELrSQ0jqn+XQjgAPQMtzrKQA3ukod36kbfHudvnp1YlOTffz3LsAayEXf9Wv
|
# n7yhN54T1PZ1nKLtvU5/k4jYu5LOQzopTJJJqE9vzLLOLLhw0MlieXsuoXBDdijX
|
||||||
# HxyAF+RDHBFjcQuQRgye5HhOWNphB7xfFbMFgjQtC7pgH7vSCqqS42Zh4h9PlQCx
|
# nA6SwUsP+eJFoQlXhAQtjEbAM7CPCNou3sGxo5tAG3RpF3N9Aq2KISXO06vtyAq+
|
||||||
# i4AfLS78d6W40Thf5ZS5TCtPE9+FjMxwOE6/4rVp0xMT1EVa6KCKczP6z9mLOVA9
|
# 7ISuD/3omQ31Ub8g0kOvvEBb2mZaLXT84G2BYI9asyhVmYEFG4Qq4ufSm04gWUxB
|
||||||
# O9CYau+9l2s3dbOHPMRYU9HPGkn6ilziy2K2skVeUuRB8bbxEFoKpcIWt7720mQ5
|
# w2KAWni3czEg6h1e5a3HzZeylYBYMVRZlbbjRYL+tdSgDX6Lfq4b/kWGRKdhdnWH
|
||||||
# Irsw8ByyYLjNSJkCnO0nZc2xaNrHgScimeCfpQY3wIUwVV/62LMIAYLID47Xvm4h
|
# cloLsXREiWaD8k0EamjPWD7Sl/wFv8reyZCBLdRTmOaPxdUxeeyhdaD6qsExDnUD
|
||||||
# kBjlhgO6fKcsrowiTbtCZLZtlZNBpjX7KBrFYLsFPCKWRS3mx7/jgdgoIs5Jr0dD
|
# YXiwCMGRQ+zR/zUlsHObK3igwISU2/XUs1JaDav58lP+jV+MFb5deHL+I50KYdZH
|
||||||
# BGt6GYOIaapVqKvEk7p0YSpJ+tuNuz1V9jM6Yd1LmhqqeY1sJTTW058pU3DhMa9J
|
# /4GiYRQnsZzUHuDkycay9iFSZss9WAxdEfXilnZI7rPNRVcIzTd60Rq3mIdtQXEn
|
||||||
# g/s9VCUaT/L51NPwnghM54l7flsjMG3RWhySONatjnQeLIwAt50iVpKrrQpGuZIR
|
# 3zkmcCTQq4MB2O50I9fHUGT6q3SgUE4vACSqx8VdnmgWXjTnVCglNw1dYKC9FMr0
|
||||||
# WAacqX7HuGuPUWWZbKgwfaRtwUB6n6ArTqMh45AqZDzBAgSVU1UZUd52khO+GwR0
|
# AAUx+Ao6pKxc+HPfln2D3Oi12ChCmIpkyq6FCU9QgshyKiYNuwDa0YX+P3EfGWct
|
||||||
# yucq9tFyys+iKQc4aXcHOaCvuAdbIxoQbv+3FGW0wUL2syI0/03TV/+sxOe9OlW0
|
# vrUb0qgQA+QrnIESLN74WMDkjJpKcbr3sfOX+8hnTkQUfBv+75Ib/Vi2PalMCUFs
|
||||||
# gIyTzYLvf/X1/sTlkFHCtPZmnIrTyVRxbA==
|
# PSOnDjh++ps5WMcZ0rNM6AnZRZ11bXKeyQ==
|
||||||
# SIG # End signature block
|
# SIG # End signature block
|
||||||
|
|
|
||||||
|
|
@ -192,17 +192,17 @@ exit
|
||||||
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
|
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
|
||||||
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYwDQYJ
|
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYwDQYJ
|
||||||
# YIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
|
# YIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
|
||||||
# DQEJBTEPFw0yNDA5MDkwOTA4NDJaMC8GCSqGSIb3DQEJBDEiBCDpOCR32+BElOsp
|
# DQEJBTEPFw0yNDA5MTExMTUwNDNaMC8GCSqGSIb3DQEJBDEiBCDpOCR32+BElOsp
|
||||||
# pr9o2qvS6Cq0zGXXv8N/urfnLBwlITANBgkqhkiG9w0BAQEFAASCAgCNlSoY6fdc
|
# pr9o2qvS6Cq0zGXXv8N/urfnLBwlITANBgkqhkiG9w0BAQEFAASCAgBuJTD9TYOz
|
||||||
# g6JHWpkvaNL5I5tHlHg5mXiy9aWHLNT6vWVke6fBNDLpfiRp7JjoPiBA0sWXh563
|
# QLhMKqUMcdjaOt5sPzOp10XEmwiUgAHGxTSkhsuMyfuDMblGrOPOwRgcgiJBzDur
|
||||||
# Vb0xjsJbW3ubDegN6jG+TbD5AH0vFXyANmVGjw8Mi4ylMMCw4QXvNo83QSQDttk7
|
# AwqHknWsPr3DN3VFwXKBAudJfcj1C+iMWIhDdHT4kVHpDJWjropSL0D9Y64UUAGc
|
||||||
# ykJaYnk+DPAbU0h2/NWvkRK4y2kBGdOjTjkp4ZKubc/0rsiJg4EOnsvMz12+GNiT
|
# E/8rBldSffjSxWgsgpSFaAwZTEBHCI3XUg3yaQvIiEj3X4BVY51sin+mrxpOSIc0
|
||||||
# frMAGcuix6kUe6IqdS0PjnNp8ne7oN2Nb2AuyJt944VBfVh518xPPDEtbeT2pR7X
|
# Lz3ZtK92x8G+7mFo5/Vu+ztskVGqL1qZoFH1Igu5GynAx13ob4hjnirotzNlxP6m
|
||||||
# 6P521k2fkOQZZpuZE/PzPSXyZ/1qB8UDbteTOpNEMKuEKy0wrIyxQf3C/mldAerW
|
# anjirjCn127GGBwttrSgIAkp+kVkU3QIurE2jfV7G4/+QmAO6bQB1jX3kWzgJFxq
|
||||||
# 39YVgAjSCCcNW0IKF9ndLq+0xH3Ie9WppP3rvx4t9Xu1Ypq8HsrfwAMG+W1lern4
|
# 9SUcRavTIBh7hK2Bk+5sAFUHgPaTVLOHWbsUGOs4nudBem+Y14+zDg7hgwtPMca6
|
||||||
# zVCDsGPvl0HHeHHX7ZAKqNpMmkl0oAvO+KXs1VMK7EcM80MSUwzNRfHZURAlcC08
|
# XKsZ03t4seH+AjfJBNfrPgVpp1hyZy9Zww7SNIcdkYmYd6UA7Zn9JtMj7ILnRcbL
|
||||||
# j4QIt1kPqGnsKrWeMk0I6Wk81FgOJY27QG+ms4utIbbKVAFiPGXS7QcIXfFKDdu+
|
# RYLP1Caq3+PmG2v5pOgoVjzpcTtfOztFLdrh0WOUWJpoRiQBd2AEWhGNuor2LUkF
|
||||||
# VsaBfr9SSGQj/LYBupJIbhfRHyTt8A9M2svNYvliiG+sJGtxYGhLLjMRwDCIBAAV
|
# 4M5KuMVoYZysX/hFXnRJiKHVtybu7LvlUg53TuPN34TAyA78ORM3upYRJ8zD+oY1
|
||||||
# DiXSiys+jpF9yKNl7jSMjQM18u2lnKa9ZU0KB24Q244Fkjli3suRoVHU14UltG2q
|
# igE6ReWNGSqHNoR73SNfjcBo8k4DnMNDlg3/K1U9SPhFILGGanmGKM4iEP+sUqxJ
|
||||||
# gmuXlJyR/K7fBS1/gQ7nBuDu6WyTdKNVmg==
|
# HLW92mevPa0g1JJaWnNnsnfQqXFOoNktEQ==
|
||||||
# SIG # End signature block
|
# SIG # End signature block
|
||||||
|
|
|
||||||
|
|
@ -154,6 +154,8 @@ namespace syncEdosLocal
|
||||||
}
|
}
|
||||||
public static bool DoorloopToDo(System.Data.SqlClient.SqlConnection fromConnection, string toConstr, System.Data.SqlClient.SqlInfoMessageEventHandler im, ref bool error, ref bool warning)
|
public static bool DoorloopToDo(System.Data.SqlClient.SqlConnection fromConnection, string toConstr, System.Data.SqlClient.SqlInfoMessageEventHandler im, ref bool error, ref bool warning)
|
||||||
{
|
{
|
||||||
|
int ciIgnoreError = -1;
|
||||||
|
bool ignorederror = false;
|
||||||
ds = new DataSet();
|
ds = new DataSet();
|
||||||
DataTable dtTables = new DataTable("Tables");
|
DataTable dtTables = new DataTable("Tables");
|
||||||
ds.Tables.Add(dtTables);
|
ds.Tables.Add(dtTables);
|
||||||
|
|
@ -164,6 +166,8 @@ namespace syncEdosLocal
|
||||||
{
|
{
|
||||||
spLog.KvClear();
|
spLog.KvClear();
|
||||||
cmd.CommandType = CommandType.StoredProcedure;
|
cmd.CommandType = CommandType.StoredProcedure;
|
||||||
|
SqlParameter pa = new SqlParameter("@withIgnoreError", true);
|
||||||
|
cmd.Parameters.Add(pa);
|
||||||
spLog.KvAddCommand(spl.skeys.sqlQuery, cmd);
|
spLog.KvAddCommand(spl.skeys.sqlQuery, cmd);
|
||||||
using (var ncta = new System.Data.SqlClient.SqlDataAdapter(cmd))
|
using (var ncta = new System.Data.SqlClient.SqlDataAdapter(cmd))
|
||||||
{
|
{
|
||||||
|
|
@ -171,6 +175,7 @@ namespace syncEdosLocal
|
||||||
{
|
{
|
||||||
ncta.Fill(dtTables);
|
ncta.Fill(dtTables);
|
||||||
int r = dtTables.Rows.Count;
|
int r = dtTables.Rows.Count;
|
||||||
|
ciIgnoreError = dtTables.Columns.IndexOf("ignoreError");
|
||||||
spLog.KvAdd(spl.skeys.recordsAffected, r);
|
spLog.KvAdd(spl.skeys.recordsAffected, r);
|
||||||
spLog.WriteSplunkLog(string.Empty, spl.iseverity.info, "LoadTables");
|
spLog.WriteSplunkLog(string.Empty, spl.iseverity.info, "LoadTables");
|
||||||
}
|
}
|
||||||
|
|
@ -230,6 +235,7 @@ namespace syncEdosLocal
|
||||||
|
|
||||||
foreach (DataRow rtr in dtTables.Rows)
|
foreach (DataRow rtr in dtTables.Rows)
|
||||||
{
|
{
|
||||||
|
|
||||||
ucmd.Parameters["OBJECT_ID"].Value = (int)rtr[0];
|
ucmd.Parameters["OBJECT_ID"].Value = (int)rtr[0];
|
||||||
string src = rtr[1].ToString();
|
string src = rtr[1].ToString();
|
||||||
dest = rtr[2].ToString();
|
dest = rtr[2].ToString();
|
||||||
|
|
@ -277,11 +283,19 @@ namespace syncEdosLocal
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
qry = LSWLib.SqlCommands.getColumnsQry(fromConnection, src);
|
qry = LSWLib.SqlCommands.getColumnsQry(fromConnection, src);
|
||||||
SqlConnection[] curDests = new SqlConnection[] { toConnection };
|
SqlConnection[] curDests = new SqlConnection[] { toConnection };
|
||||||
|
System.Diagnostics.Debug.WriteLine(Task);
|
||||||
|
ignorederror = false;
|
||||||
cnt = Bulker.Execute(Task, fromConnection, curDests, qry, CommandType.Text, dest, 0, ref error);
|
cnt = Bulker.Execute(Task, fromConnection, curDests, qry, CommandType.Text, dest, 0, ref error);
|
||||||
ucmd.Parameters["lastRecords"].Value = cnt;
|
ucmd.Parameters["lastRecords"].Value = cnt;
|
||||||
if (dest.Contains("PersonInfo"))
|
if (dest.Contains("PersonInfo"))
|
||||||
Result.Persons = cnt;
|
Result.Persons = cnt;
|
||||||
else if (dest.Contains("TaskInfo")) Result.Tasks = cnt;
|
else if (dest.Contains("TaskInfo")) Result.Tasks = cnt;
|
||||||
|
if (error && ciIgnoreError >= 0 && rtr[ciIgnoreError] is bool && (bool)rtr[ciIgnoreError])
|
||||||
|
{
|
||||||
|
error = false;
|
||||||
|
ignorederror = true;
|
||||||
|
spLog.WriteSplunkLog(string.Empty, spLog.splunkSeverity, "ignored", Task);
|
||||||
|
}
|
||||||
|
|
||||||
if (sqlCmdsActivate != null)
|
if (sqlCmdsActivate != null)
|
||||||
using (var cmd = new System.Data.SqlClient.SqlCommand(sqlCmdsActivate.ToString(), toConnection))
|
using (var cmd = new System.Data.SqlClient.SqlCommand(sqlCmdsActivate.ToString(), toConnection))
|
||||||
|
|
@ -306,7 +320,7 @@ namespace syncEdosLocal
|
||||||
spLog.WriteSplunkLog(string.Empty, spLog.splunkSeverity, "constraintsActivated", spLog.splunkError);
|
spLog.WriteSplunkLog(string.Empty, spLog.splunkSeverity, "constraintsActivated", spLog.splunkError);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ucmd.Parameters["syncError"].Value = error;
|
ucmd.Parameters["syncError"].Value = error | ignorederror;
|
||||||
ucmd.ExecuteNonQuery();
|
ucmd.ExecuteNonQuery();
|
||||||
if (error) break;
|
if (error) break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue