This commit is contained in:
Luc Vandenbroucke 2024-08-28 13:05:03 +02:00
parent f5c2e4bc7f
commit 02c8e19aa0
8 changed files with 106 additions and 79 deletions

View file

@ -378,14 +378,17 @@ void Epd3Base::Epd3U::DecodeStatus()
eDosBatteryWarning = OtherAlarmBatLow | OtherAlarmBatVolt;
}
void Epd3Base::Epd3U::SetTime() //Only R3
int Epd3Base::Epd3U::SetTime() //Only R3
{
if (Epd.Gen == EpdGeneration::Mk3) {
int r = 0;
if (Epd.Gen == EpdGeneration::Mk3)
{
utc = TimeFunctions::NowToEpdTime(Epd.Gen == EpdGeneration::Mk2);
token = BeginWriteRTC_R3(epdComsHandle, utc, nullptr);
uint32_t r = Commit3(epdComsHandle);
if (!r) Dll3RV = EndWriteRTC_R3(epdComsHandle, token);
r = Commit3(epdComsHandle);
if (!r) r = EndWriteRTC_R3(epdComsHandle, token);
}
return r;
}
/// <summary>
///
@ -977,14 +980,20 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
if (port == 0) return 0;
step = 1;
if (DetectorsOn) {
/*if (DetectorsOn) {
token = BeginEpdOnOff(epdComsHandle, 0, nullptr);
rv = Commit3(epdComsHandle);
if (!rv) rv = EndEpdOnOff(epdComsHandle, token);
rv = ReOpenDev();
}
if (rv != 0)
goto error;
goto error;*/
token = BeginEpdOnOff(epdComsHandle, 1, nullptr);
rv = Commit3(epdComsHandle);
if (!rv) rv = EndEpdOnOff(epdComsHandle, token);
if (rv != 0)
rv = 0;
step = 2;
if (WriteConfig32) {
@ -994,7 +1003,8 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
}
step = 3;
rv = ReOpenDev();
if (!isConnected)
rv = ReOpenDev();
step = 4;
rv = ClearDoses();
@ -1005,7 +1015,7 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
rv = ClearAlarms();
if (rv != 0)
goto error;
Sleep(2000);
return rv;
@ -1184,7 +1194,7 @@ error:
/// </summary>
/// <returns>0 Success</returns>
WORD Epd3Base::Epd3U::Issue(bool PrepareDone)
WORD Epd3Base::Epd3U::Issue(bool PrepareDone) //normaal is preparedone=tru
{
int r = 0;
int step = 0;
@ -1347,7 +1357,7 @@ int Epd3Base::Epd3U::GetAllDeissue(bool reconnect)
{
int rv = 0;
int step = 0;
//reconnect ??
step = 1;
rv = ReadDoses(); //0 = success
if (rv) goto error;
@ -1368,6 +1378,7 @@ error:
return rv;
}
// main issue routine
int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
{
int rv = 0;
@ -1376,6 +1387,16 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
if (!isConnected) rv = ReOpenDev();
if (rv) goto error;
step = 1;
rv = SetTime();
//synctime
step = 2;
rv = PrepareForIssue(); //Set epd on, clear doses and alarms
if (rv) goto error;
step = 3;
if (isNG) {
step = 1;
float kx = gain;
@ -1389,13 +1410,12 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
if (rv != 0) goto error;
}
}
step = 3;
rv = SetChirp(ChirpRate);
if (rv) goto error;
step = 4;
rv = PrepareForIssue();
if (rv) goto error;
Sleep(1000);
step = 5;
rv = Issue(true); // data already loaded

View file

@ -259,7 +259,7 @@ namespace Epd3Base {
void CloseDev(bool CloseAll);
void DecodeStatus();
void SetTime();
int SetTime();
int ReadStatus();

View file

@ -344,49 +344,55 @@ int EpdBaseClr::Epd2::ClearAlarms()
///
/// </summary>
/// <returns>0 OK</returns>
int EpdBaseClr::Epd2::SetDeIssued()
{
int rv = 0;
ErrorStep = 0; ErrorRV = 0;
if (isMK3) {
rv = epd3->DeIssue();
ErrorStep = epd3->ErrorStep;
ErrorRV = epd3->Error;
}
else rv = epd->DeIssue();
return rv;
}
//int EpdBaseClr::Epd2::SetDeIssued()
//{
// int rv = 0;
// ErrorStep = 0; ErrorRV = 0;
// if (isMK3) {
// rv = epd3->DeIssue();
// ErrorStep = epd3->ErrorStep;
// ErrorRV = epd3->Error;
// }
// else rv = epd->DeIssue();
// return rv;
//}
int EpdBaseClr::Epd2::PrepareForIssue()
{
int rv = 0;
PrepareForIssueError = 0;
ErrorStep = 0; ErrorRV = 0;
if (isMK3) {
rv = epd3->PrepareForIssue();
ErrorStep = epd3->ErrorStep;
ErrorRV = epd3->Error;
}
else rv= epd->PrepareForIssue();
if (rv != 0) PrepareForIssueError = epd->Error;
return rv;
}
//int EpdBaseClr::Epd2::PrepareForIssue()
//{
// int rv = 0;
// PrepareForIssueError = 0;
// ErrorStep = 0; ErrorRV = 0;
// if (isMK3) {
// rv = epd3->PrepareForIssue();
// ErrorStep = epd3->ErrorStep;
// ErrorRV = epd3->Error;
// }
// else rv= epd->PrepareForIssue();
// if (rv != 0) PrepareForIssueError = epd->Error;
// return rv;
//}
/// <summary>
///
/// should not be used
/// </summary>
/// <returns>0 OK</returns>
int EpdBaseClr::Epd2::SetIssued()
{
int rv = 0;
ErrorStep = 0; ErrorRV = 0;
if (isMK3) {
rv=SetIssued(epd3);
ErrorStep = epd3->ErrorStep;
ErrorRV = epd3->Error;
}
else rv=SetIssued(epd);
return rv;
}
//int EpdBaseClr::Epd2::SetIssued()
//{
// int rv = 0;
// ErrorStep = 0; ErrorRV = 0;
// if (isMK3) {
// rv=SetIssued(epd3);
// ErrorStep = epd3->ErrorStep;
// ErrorRV = epd3->Error;
// }
// else rv=SetIssued(epd);
// return rv;
//}
/// <summary>
/// BeforeSetIssued : geen interactie met epd, maar zet varibaleln
/// </summary>
/// <param name="epd"></param>
/// <returns></returns>
int EpdBaseClr::Epd2::BeforeSetIssued(Epd3Base::Epd3U* epd)
{
int rv = 0;
@ -423,14 +429,14 @@ int EpdBaseClr::Epd2::BeforeSetIssued(Epd3Base::Epd3U* epd)
/// </summary>
/// <param name="epd"></param>
/// <returns>0 success</returns>
int EpdBaseClr::Epd2::SetIssued(Epd3Base::Epd3U* epd)
{
int rv = 0;
rv = BeforeSetIssued(epd);
rv = epd->Issue(false);
if (rv != 0) SetIssuedError = epd->Error;
return rv;
}
//int EpdBaseClr::Epd2::SetIssued(Epd3Base::Epd3U* epd)
//{
// int rv = 0;
// rv = BeforeSetIssued(epd);
// rv = epd->Issue(false);
// if (rv != 0) SetIssuedError = epd->Error;
// return rv;
//}
int EpdBaseClr::Epd2::BeforeSetIssued(EpdBase::Epd2U* epd)
{
int rv = 0;
@ -464,14 +470,14 @@ int EpdBaseClr::Epd2::BeforeSetIssued(EpdBase::Epd2U* epd)
return 0;
}
int EpdBaseClr::Epd2::SetIssued(EpdBase::Epd2U* epd)
{
int rv = 0;
BeforeSetIssued(epd);
rv = epd->Issue();
if (rv != 0) SetIssuedError = epd->Error;
return rv;
}
//int EpdBaseClr::Epd2::SetIssued(EpdBase::Epd2U* epd)
//{
// int rv = 0;
// BeforeSetIssued(epd);
// rv = epd->Issue();
// if (rv != 0) SetIssuedError = epd->Error;
// return rv;
//}
int EpdBaseClr::Epd2::WriteCalibration()
{
int rv = 0;

View file

@ -287,11 +287,11 @@ namespace EpdBaseClr {
int AfterGetDoses(Epd3Base::Epd3U* epd);
int GetDoses(Epd3Base::Epd3U* epd);
int ClearAlarms();
int SetIssued();
//int SetIssued();
int BeforeSetIssued(Epd3Base::Epd3U* epd);
int SetIssued(Epd3Base::Epd3U* epd);
//int SetIssued(Epd3Base::Epd3U* epd);
int BeforeSetIssued(EpdBase::Epd2U* epd);
int SetIssued(EpdBase::Epd2U* epd);
//int SetIssued(EpdBase::Epd2U* epd);
int WriteCalibration();
int WriteCalibration(EpdBase::Epd2U* epd);
@ -310,7 +310,7 @@ namespace EpdBaseClr {
int tokenSourceTimeout;
int readRetries;
System::Threading::Tasks::Task^ waitTask;
int SetDeIssued();
//int SetDeIssued();
public:
@ -330,6 +330,6 @@ namespace EpdBaseClr {
void WaitEpd();
int PrepareForIssue();
//int PrepareForIssue();
};
}

View file

@ -7,7 +7,7 @@
<userSettings>
<eDosStation.Properties.Settings>
<setting name="ComPort" serializeAs="String">
<value>7</value>
<value>3</value>
</setting>
</eDosStation.Properties.Settings>
</userSettings>

View file

@ -54,6 +54,7 @@ using System.Windows;
//2.16 : version with reconnect MK3v2)
//2.18 : more tested
//2.20 Thermo : workflow bij issue ( en toevoegen time set)
[assembly: AssemblyVersion("2.19.0.0")]
[assembly: AssemblyFileVersion("2.19.0.0")]
[assembly: AssemblyVersion("2.20.0.0")]
[assembly: AssemblyFileVersion("2.20.0.0")]

View file

@ -1 +1 @@
Thu 05/30/2024 16:10:43.91
Wed 08/28/2024 12:26:57.52

Binary file not shown.