Solving Idle State glitches

Signed-off-by: Bernardo Carvalho <bernardo.carvalho@tecnico.ulisboa.pt>
This commit is contained in:
Bernardo Carvalho
2023-10-19 09:19:34 +00:00
parent 072c8b2512
commit 128e3c4119
2 changed files with 17 additions and 12 deletions

View File

@@ -648,7 +648,7 @@ ss PulseSequence {
pvPut(IsttokLastOPSTATE);
}
when ((IsttokOPREQ == START) && (IsttokupsBatteryON != ON) ) {
when (delay(5.0) && (IsttokOPREQ == START) && (IsttokupsBatteryON != ON) ) {
//&& (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokTMPump1_Emergency) == pvStatOK)) {
strcpy(msg, "State Stopping to Starting");
pvPut(msg);
@@ -803,11 +803,11 @@ ss PulseSequence {
/*********** SUB-State: StartingSequence Set ************/
ss StartingSequence {
state NonStarting {
entry {
entry {
STARTINGSTATE = STRST_NonStarting;
pvPut(STARTINGSTATE);
}
when (IsttokOPSTATE == POS_Starting) {
}
when (delay(2.0) && IsttokOPSTATE == POS_Starting) {
strcpy(msg, "Rotary Pump1 ON");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -824,7 +824,7 @@ ss StartingSequence {
}
state Starting1 {
when (IsttokOPSTATE != POS_Starting ) {
when (delay(1.0) && IsttokOPSTATE != POS_Starting ) {
strcpy(msg, "Starting1 Out");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -846,7 +846,7 @@ ss StartingSequence {
}
state Starting2 {
when (IsttokOPSTATE != POS_Starting ) {
when (delay(1.0) && IsttokOPSTATE != POS_Starting ) {
strcpy(msg, "Starting2 Out");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -854,7 +854,7 @@ ss StartingSequence {
pvPut(STARTINGSTATE);
} state NonStarting
when (IsttokTMPump1_ManualValve == ON) {
when (delay(2.0) && IsttokTMPump1_ManualValve == ON) {
strcpy(msg, "Manual Valve Open Checked");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -864,7 +864,7 @@ ss StartingSequence {
}
state Starting3 {
when (IsttokOPSTATE != POS_Starting) {
when (delay(1.0) && IsttokOPSTATE != POS_Starting) {
strcpy(msg, "Starting3 Out");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -872,7 +872,7 @@ ss StartingSequence {
pvPut(STARTINGSTATE);
} state NonStarting
//when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump2_Pressure) == pvStatOK)) {
when ( pvStatus(IsttokRPump1_Pressure) == pvStatOK) {
when (delay(2.0) && pvStatus(IsttokRPump1_Pressure) == pvStatOK) {
strcpy(msg, "TMP1 MotorOn ON" );
pvPut(msg);
@@ -890,14 +890,14 @@ ss StartingSequence {
}
state Starting4 {
when (IsttokOPSTATE != POS_Starting ) {
when (delay(1.0) && IsttokOPSTATE != POS_Starting ) {
strcpy(msg, "Starting4 Out");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
//IsttokSTARTINGSTATE = STRST_NonStarting;
//pvPut(IsttokSTARTINGSTATE);
} state NonStarting
when (TMPump1NormalOperation == PCF_INPUT_ON) { // TODO insert TMP2 Test
when (delay(2.0) && TMPump1NormalOperation == PCF_INPUT_ON) { // TODO insert TMP2 Test
strcpy(msg, "TMP1 operating Normal");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -907,7 +907,7 @@ ss StartingSequence {
}
state StartingEnd {
when (IsttokOPSTATE != POS_Starting ) {
when (delay(1.0) && IsttokOPSTATE != POS_Starting ) {
STARTINGSTATE = STRST_NonStarting;
pvPut(STARTINGSTATE);
} state NonStarting

View File

@@ -53,6 +53,9 @@ ISTTOKrpi_DBD += drvAsynI2C.dbd
ISTTOKrpi_DBD += drvAsynSerialPort.dbd
ISTTOKrpi_DBD += drvAsynIPPort.dbd
ISTTOKrpi_DBD += asSupport.dbd
# PVA support
ISTTOKrpi_DBD += qsrv.dbd
ISTTOKrpi_DBD += PVAServerRegister.dbd
# Add all the support libraries needed by this IOC
ISTTOKrpi_LIBS += asyn
@@ -60,6 +63,8 @@ ISTTOKrpi_LIBS += asyn
ISTTOKrpi_LIBS += stream
ISTTOKrpi_LIBS += drvAsynI2C
ISTTOKrpi_LIBS += autosave
# PVA support
ISTTOKrpi_LIBS += qsrv
# ISTTOKrpi_registerRecordDeviceDriver.cpp derives from ISTTOKrpi.dbd
ISTTOKrpi_SRCS += ISTTOKrpi_registerRecordDeviceDriver.cpp