Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c14d19c420 | ||
|
|
3d7e9ddb85 | ||
|
|
d3b2e4fb2a |
@@ -23,7 +23,7 @@ of the distribution package..
|
||||
<groupId>org.iter.codac.units</groupId>
|
||||
<artifactId>EC-GN-P01-PCF</artifactId>
|
||||
<packaging>codac</packaging>
|
||||
<version>1.0.2</version>
|
||||
<version>1.0.3</version>
|
||||
<name>CODAC Core System EC-GN subsystem</name>
|
||||
<description>CODAC Core System EC-GN subsystem</description>
|
||||
<url>http://www.iter.org/</url>
|
||||
@@ -197,7 +197,7 @@ KillSignal=SIGINT]]>
|
||||
<servicetype>simple</servicetype>
|
||||
<user>root</user>
|
||||
<group>root</group>
|
||||
<execstart>%{codac_bin}/ec-gn-ja-pcf-gy.sh JAGyrotronB_FY19_P1.cfg</execstart>
|
||||
<execstart>%{codac_bin}/ec-gn-ja-pcf-gy.sh JAGyrotronB_FY19_P1</execstart>
|
||||
</include>
|
||||
<!-- Soft dependencies and service ordering -->
|
||||
<include type="file" source="-"
|
||||
|
||||
@@ -120,7 +120,7 @@ bool JAModeControlGAM::Execute() {
|
||||
rfonTime = *inputSignals[9];
|
||||
resetRemainingTime = false;
|
||||
pulseLengthLimit = CalcPulseLengthLimit(inputSignals);
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Pulse Length was set to Limit:%d", pulseLengthLimit);
|
||||
REPORT_ERROR(ErrorManagement::Debug, "Pulse Length was set to Limit:%d", pulseLengthLimit);
|
||||
}
|
||||
// Turn on the flag during RFON if the pulse legth over the limit.
|
||||
if ((*inputSignals[9] - rfonTime <= pulseLengthLimit) && (previousState == 1u)) {
|
||||
|
||||
@@ -36,10 +36,7 @@
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Static definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static MARTe::uint64 getCurrentTimeUs() {
|
||||
using namespace MARTe;
|
||||
return static_cast<uint64>(HighResolutionTimer::Counter() * HighResolutionTimer::Period() * 1e6f + 0.5f);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
@@ -67,9 +64,7 @@ JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() {
|
||||
triggerDelay_shotlen = NULL_PTR(MARTe::uint32 *);
|
||||
stopRequest = NULL_PTR(MARTe::uint32 *);
|
||||
modePulseLengthLimit = NULL_PTR(MARTe::uint32 *);
|
||||
Command = NULL_PTR(MARTe::uint16 *);
|
||||
Command2 = NULL_PTR(MARTe::uint16 *);
|
||||
sdnStatus = NULL_PTR(MARTe::uint8 *);
|
||||
sdnCommand = NULL_PTR(MARTe::uint16 *);
|
||||
|
||||
// write out target.
|
||||
outputSignal = NULL_PTR(MARTe::uint32 *);
|
||||
@@ -86,17 +81,6 @@ JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() {
|
||||
aps_swon_is_on = false;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
|
||||
sdnCommand = 0;
|
||||
groupFix = 0;
|
||||
|
||||
apsSwonHighResolutionTime = 0;
|
||||
|
||||
aps_hvon_state=0;
|
||||
aps_swon_state=0;
|
||||
mhvps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
|
||||
JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() {
|
||||
@@ -151,21 +135,21 @@ bool JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const current
|
||||
|
||||
bool JASDNRTStateMachineGAM::Setup() {
|
||||
using namespace MARTe;
|
||||
bool ok = (numberOfInputSignals == 13u);
|
||||
bool ok = (numberOfInputSignals == 11u);
|
||||
if (ok) {
|
||||
ok = (numberOfOutputSignals == 15u);
|
||||
ok = (numberOfOutputSignals == 8u);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "15 output signals shall be defined");
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined");
|
||||
}
|
||||
}
|
||||
else {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "13 input signals shall be defined");
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Nine input signals shall be defined");
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfInputSignals; c++) {
|
||||
TypeDescriptor inputType = GetSignalType(InputSignals, c);
|
||||
ok = (inputType == UnsignedInteger32Bit || inputType == UnsignedInteger16Bit || inputType == UnsignedInteger8Bit);
|
||||
ok = (inputType == UnsignedInteger32Bit || inputType == UnsignedInteger16Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
@@ -178,7 +162,7 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfOutputSignals; c++) {
|
||||
TypeDescriptor outputType = GetSignalType(OutputSignals, c);
|
||||
ok = (outputType == UnsignedInteger32Bit || outputType == UnsignedInteger8Bit);
|
||||
ok = (outputType == UnsignedInteger32Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
@@ -197,9 +181,7 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
triggerDelay_shotlen = reinterpret_cast<uint32 *>(GetInputSignalMemory(7));
|
||||
stopRequest = reinterpret_cast<uint32 *>(GetInputSignalMemory(8));
|
||||
modePulseLengthLimit = reinterpret_cast<uint32 *>(GetInputSignalMemory(9));
|
||||
Command = reinterpret_cast<uint16 *>(GetInputSignalMemory(10));
|
||||
Command2 = reinterpret_cast<uint16 *>(GetInputSignalMemory(11));
|
||||
sdnStatus = reinterpret_cast<uint8 *>(GetInputSignalMemory(12));
|
||||
sdnCommand = reinterpret_cast<uint16 *>(GetInputSignalMemory(10));
|
||||
|
||||
outputSignal = reinterpret_cast<uint32 *>(GetOutputSignalMemory(0));
|
||||
outputBeamON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(1));
|
||||
@@ -209,15 +191,6 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
outputBeamONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(5));
|
||||
outputRFONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(6));
|
||||
shotCounter = reinterpret_cast<uint32 *>(GetOutputSignalMemory(7));
|
||||
|
||||
outputAPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(8));
|
||||
outputAPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(9));
|
||||
outputBPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(10));
|
||||
outputBPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(11));
|
||||
outputMHVPSON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(12));
|
||||
|
||||
outputSignalNI6528P3 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(13));
|
||||
outputSignalNI6528P4 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(14));
|
||||
*shotCounter = 0;
|
||||
}
|
||||
return ok;
|
||||
@@ -225,19 +198,11 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
|
||||
bool JASDNRTStateMachineGAM::Execute() {
|
||||
using namespace MARTe;
|
||||
if (!groupFix && (*triggerSignal != false)) {
|
||||
sdnCommand = (1 - *sdnStatus)*(*Command) + (*sdnStatus)*(*Command2);
|
||||
groupFix = 1;
|
||||
sdnStatusFix = *sdnStatus;
|
||||
}
|
||||
else {
|
||||
sdnCommand = (1 - sdnStatusFix)*(*Command) + sdnStatusFix*(*Command2);
|
||||
}
|
||||
if (currentState == WaitTrigger) {
|
||||
|
||||
//State Transition condition
|
||||
if ((*triggerSignal == conditionTrigger)) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode.");
|
||||
REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode.");
|
||||
plcOnTime = *currentTime; //Save pulse start time.
|
||||
*outputBeamON = 0;
|
||||
//State transition.
|
||||
@@ -248,22 +213,20 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
|
||||
//Actions in this state.
|
||||
if (*stopRequest != 0 || *triggerSignal != conditionTrigger) {
|
||||
*outputSignal = 0;
|
||||
*outputSignal -= aps_swon;
|
||||
currentState = HVTerminate;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_bps_hvon) && bps_hvon_is_on == false){
|
||||
//Do action
|
||||
*outputSignal += bps_hvon;
|
||||
bps_hvon_is_on = true; bps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSHVON=1;
|
||||
bps_hvon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "bps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_aps_hvon) && aps_hvon_is_on == false) {
|
||||
//Do action
|
||||
*outputSignal += aps_hvon;
|
||||
aps_hvon_is_on = true; aps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal.");
|
||||
*outputAPSHVON=1;
|
||||
aps_hvon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal.");
|
||||
}
|
||||
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
@@ -279,7 +242,7 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
|
||||
// State change conditions
|
||||
if (sdnCommand == 1){
|
||||
if (*sdnCommand == 1){
|
||||
sdnTriggerTime = *currentTime;
|
||||
currentState = SwitchingHVPS_SWON;
|
||||
}
|
||||
@@ -299,80 +262,68 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){
|
||||
//Do action
|
||||
*outputSignal += bps_swon;
|
||||
bps_swon_is_on = true; bps_swon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSSWON=1;
|
||||
bps_swon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "bps_swon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
if (*currentTime >= (sdnTriggerTime + *triggerDelay_mhvps_hvon) && mhvps_hvon_is_on==false) {
|
||||
//Do action
|
||||
*outputSignal += mhvps_hvon;
|
||||
mhvps_hvon_is_on = true; mhvps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "mhvps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputMHVPSON=1;
|
||||
mhvps_hvon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "mhvps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
if (bps_swon_is_on && mhvps_hvon_is_on && *currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon)){
|
||||
//Do action
|
||||
*outputSignal += aps_swon;
|
||||
aps_swon_is_on = true; aps_swon_state=1;
|
||||
apsSwonHighResolutionTime = getCurrentTimeUs();
|
||||
aps_swon_is_on = true;
|
||||
apsSwonTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputAPSSWON=1;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "aps_swon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
|
||||
if (bps_swon_is_on || mhvps_hvon_is_on){
|
||||
*outputHVInjection = 1;
|
||||
*outputHVInjection = 0;
|
||||
}
|
||||
|
||||
//State transition condition
|
||||
if (aps_swon_is_on){
|
||||
currentState = RFON;
|
||||
*outputRFON = 0;
|
||||
*outputBeamON = 1;
|
||||
*shotCounter += 1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON");
|
||||
REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON");
|
||||
}
|
||||
}
|
||||
else if (currentState == RFON) {
|
||||
|
||||
//SDN command processing.
|
||||
if (sdnCommand == 4 && aps_swon_is_on) {
|
||||
if (*sdnCommand == 4 && aps_swon_is_on) {
|
||||
*outputSignal -= aps_swon;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4");
|
||||
*outputAPSSWON=0;
|
||||
aps_swon_is_on = false;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4");
|
||||
}
|
||||
if (sdnCommand == 3 && !aps_swon_is_on) {
|
||||
if (*sdnCommand == 3 && !aps_swon_is_on) {
|
||||
*outputSignal += aps_swon;
|
||||
aps_swon_is_on = true; aps_swon_state=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "sdn command was 3");
|
||||
*outputAPSSWON=1;
|
||||
aps_swon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "sdn command was 3");
|
||||
}
|
||||
|
||||
//Action in this state.
|
||||
if ((sdnCommand == 2) || (*modePulseLengthLimit == 1u) || (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen))) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "shotlen: %d", *triggerDelay_shotlen);
|
||||
if (sdnCommand == 2) {
|
||||
//REPORT_ERROR(ErrorManagement::Information, "sdn command was 2");
|
||||
if ((*sdnCommand == 2) || (*modePulseLengthLimit == 1u) || (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen))) {
|
||||
REPORT_ERROR(ErrorManagement::Debug, "shotlen: %d", *triggerDelay_shotlen);
|
||||
if (*sdnCommand == 2) {
|
||||
REPORT_ERROR(ErrorManagement::Information, "sdn command was 2");
|
||||
} else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){
|
||||
//REPORT_ERROR(ErrorManagement::Information, "pulse length reached setpoint.");
|
||||
REPORT_ERROR(ErrorManagement::Information, "pulse length reached setpoint.");
|
||||
}
|
||||
//Do action
|
||||
*outputSignal -= aps_swon; //Turn off only aps_swon
|
||||
mhvps_hvon_is_on = false;
|
||||
aps_hvon_is_on = false;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
aps_swon_is_on = false;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
*outputAPSHVON=0;
|
||||
*outputAPSSWON=0;
|
||||
*outputBPSHVON=0;
|
||||
*outputBPSSWON=0;
|
||||
*outputMHVPSON=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime);
|
||||
REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
*outputRFON = 1;
|
||||
*outputRFON = 0;
|
||||
*outputBeamONTime = *currentTime - plcOnTime;
|
||||
*outputRFONTime = *currentTime - apsSwonTime;
|
||||
|
||||
@@ -381,37 +332,29 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
if (!aps_swon_is_on && !bps_swon_is_on && !mhvps_hvon_is_on) {
|
||||
currentState = HVTerminate;
|
||||
apsSwoffTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Information, "state was changed to HVTerminate");
|
||||
REPORT_ERROR(ErrorManagement::Information, "state was changed to HVTerminate");
|
||||
}
|
||||
}
|
||||
else if (currentState == HVTerminate) {
|
||||
|
||||
//Action in this state.
|
||||
*outputBeamON = 0;
|
||||
*outputHVArmed = 0;
|
||||
*outputHVInjection = 0;
|
||||
*outputRFON = 0;
|
||||
*outputBeamON = 1;
|
||||
*outputHVArmed = 1;
|
||||
*outputHVInjection = 1;
|
||||
*outputRFON = 1;
|
||||
|
||||
// State transition condition.
|
||||
if (*currentTime - apsSwoffTime >= turn_off_delay){
|
||||
*outputSignal = 0;
|
||||
mhvps_hvon_state=0;
|
||||
aps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
if (*triggerSignal == false){
|
||||
//Check PLC_ON is reset
|
||||
currentState = WaitTrigger;
|
||||
*outputSignal = 0;
|
||||
groupFix = 0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger");
|
||||
REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger");
|
||||
}
|
||||
}
|
||||
p3Value = 1*aps_hvon_state +2*aps_swon_state + 8*bps_hvon_state +16*bps_swon_state + 64*(*outputBeamON);
|
||||
*outputSignalNI6528P3 = ~p3Value;
|
||||
p4Value = 8*mhvps_hvon_state;
|
||||
*outputSignalNI6528P4 = ~p4Value;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -92,18 +92,10 @@
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* Command = {//from packet x
|
||||
* Command = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint16
|
||||
* }
|
||||
* Command2 = {//from packet y
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint16
|
||||
* }
|
||||
* ESDNStatus = {// 0 or 1. If 0, packet x is used, elif 1, packet y is used.
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint8
|
||||
* }
|
||||
* }
|
||||
* OutputSignals = {
|
||||
* Value = {
|
||||
@@ -207,12 +199,8 @@ private:
|
||||
MARTe::uint32 *stopRequest;
|
||||
// Input signal for pulse length limit by mode.
|
||||
MARTe::uint32 *modePulseLengthLimit;
|
||||
// Input signal for SDN commands from packet x.
|
||||
MARTe::uint16 *Command;
|
||||
// Input signal for SDN commands from packet y.
|
||||
MARTe::uint16 *Command2;
|
||||
// Input signal for SDN status.
|
||||
MARTe::uint8 *sdnStatus;
|
||||
// Input signal for SDN commands.
|
||||
MARTe::uint16 *sdnCommand;
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
// Output signal to which the output value will be written.
|
||||
@@ -229,17 +217,6 @@ private:
|
||||
MARTe::uint32 *outputRFONTime;
|
||||
// shot counter (coutup every RFON time.)
|
||||
MARTe::uint32 *shotCounter;
|
||||
|
||||
// Added for HVPS state (20210602)
|
||||
MARTe::uint32 *outputAPSHVON;
|
||||
MARTe::uint32 *outputAPSSWON;
|
||||
MARTe::uint32 *outputBPSHVON;
|
||||
MARTe::uint32 *outputBPSSWON;
|
||||
MARTe::uint32 *outputMHVPSON;
|
||||
|
||||
// Output signals for NI devices
|
||||
MARTe::uint8 *outputSignalNI6528P3;
|
||||
MARTe::uint8 *outputSignalNI6528P4;
|
||||
|
||||
//////////////////////////////
|
||||
//Internal Parameters
|
||||
@@ -249,7 +226,6 @@ private:
|
||||
//APS_SWON time holder
|
||||
MARTe::uint32 apsSwonTime;
|
||||
MARTe::uint32 apsSwoffTime;
|
||||
MARTe::uint64 apsSwonHighResolutionTime;
|
||||
|
||||
//PS turn off delay
|
||||
MARTe::uint32 turn_off_delay;
|
||||
@@ -263,22 +239,6 @@ private:
|
||||
bool bps_hvon_is_on;
|
||||
bool bps_swon_is_on;
|
||||
|
||||
//command x or y
|
||||
MARTe::uint16 sdnCommand;
|
||||
//packet group must not be changed during real time operation
|
||||
MARTe::uint16 groupFix; //0: packet group is not fixed yet, 1: fixed.
|
||||
//when packet group is fixed, sdnStatus is copied to this variable.
|
||||
MARTe::uint8 sdnStatusFix;
|
||||
|
||||
// terminal values
|
||||
MARTe::uint8 p3Value;
|
||||
MARTe::uint8 p4Value;
|
||||
MARTe::uint8 aps_hvon_state;
|
||||
MARTe::uint8 aps_swon_state;
|
||||
MARTe::uint8 mhvps_hvon_state;
|
||||
MARTe::uint8 bps_hvon_state;
|
||||
MARTe::uint8 bps_swon_state;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,353 @@
|
||||
+DDB1 = {
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
ResetUnusedVariablesAtStateChange = 0
|
||||
}
|
||||
// Timer for thread 1 (Normal RT state execution cycle.)
|
||||
+Timer1kHz = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 40
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x100
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAInput_Th1 = {
|
||||
Class = "EPICSCA::EPICSCAInput"
|
||||
CPUMask = "0x100" //change from 200
|
||||
StackSize = "10000000"
|
||||
Signals = {
|
||||
CCPS_OUTPUT_FREQ = {
|
||||
PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ"
|
||||
Type = float32
|
||||
}
|
||||
CCPS_OUTPUT_AMP = {
|
||||
PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP"
|
||||
Type = float32
|
||||
}
|
||||
CCPS_OUTPUT_OFFS = {
|
||||
PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS"
|
||||
Type = float32
|
||||
}
|
||||
CSV_LOAD = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-CSV-LOAD"
|
||||
Type = uint32
|
||||
}
|
||||
CSV_NAME = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-CSV-NAME"
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
FHPS_AUTO_TAGV = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV"
|
||||
Type = float32
|
||||
}
|
||||
FHPS_AUTO_TIME = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME"
|
||||
Type = float32
|
||||
}
|
||||
FHPS_AUTO_START = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"
|
||||
Type = uint32
|
||||
}
|
||||
FHPS_MANM = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM"
|
||||
Type = uint32
|
||||
}
|
||||
GCPS_TRG_CURR_MANUAL = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI"
|
||||
Type = float32
|
||||
}
|
||||
MCPS_TRG_CURR_MANUAL = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI"
|
||||
Type = float32
|
||||
}
|
||||
BPS_MM = {
|
||||
PVName = "EC-GN-P01-PB1F:STAT-MANM"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_MANUAL = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-EREF-MSP"
|
||||
Type = float32
|
||||
}
|
||||
APS_MM = {
|
||||
PVName = "EC-GN-P01-PA1F:STAT-MANM"
|
||||
Type = uint32
|
||||
}
|
||||
APS_MANUAL = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-EREF-MSP"
|
||||
Type = float32
|
||||
}
|
||||
MHVPS_MANUAL = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-EREF-MSP"
|
||||
Type = float32
|
||||
}
|
||||
MHVPS_MM = {
|
||||
PVName = "EC-GN-P01-PMF:STAT-MANM"
|
||||
Type = uint32
|
||||
}
|
||||
MCPS_MM = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM"
|
||||
Type = uint32
|
||||
}
|
||||
MCPS_TRG_CURR_MANUAL = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI"
|
||||
Type = float32
|
||||
}
|
||||
GCPS_TRG_CURR_MANUAL = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI"
|
||||
Type = float32
|
||||
}
|
||||
GCPS_MM = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_STANDBY = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_READY = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_SELECT = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY1"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_SYNCMODE = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YSTA-MPSS"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_PERMIT = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-CON-GY1PRM"
|
||||
Type = uint32
|
||||
}
|
||||
//PXI Board status PVs
|
||||
PXI6259_0 = {
|
||||
PVName = "EC-GN-HWCF:6259-0-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6259_1 = {
|
||||
PVName = "EC-GN-HWCF:6259-1-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6528_0 = {
|
||||
PVName = "EC-GN-HWCF:6528-0-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6528_1 = {
|
||||
PVName = "EC-GN-HWCF:6528-1-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6368_0 = {
|
||||
PVName = "EC-GN-HWCF:6368-0-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6368_1 = {
|
||||
PVName = "EC-GN-HWCF:6368-1-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
MCPS_ACT_RB = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB"
|
||||
Type = uint32
|
||||
}
|
||||
GCPS_ACT_RB = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB"
|
||||
Type = uint32
|
||||
}
|
||||
FHPS_RU = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"
|
||||
Type = uint32
|
||||
}
|
||||
FHPS_MEAS_ACV = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV"
|
||||
Type = float32
|
||||
}
|
||||
PREP_MODE = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-PREP-MODE"
|
||||
Type = uint32
|
||||
}
|
||||
RESET_FLT = {
|
||||
PVName = "EC-GN-P01-GPF:STAT-RST-FLT"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAOutput_Th1 = {
|
||||
Class = "EPICSCA::EPICSCAOutput"
|
||||
CPUMask = "0x100" //change from 0x200
|
||||
StackSize = "10000000"
|
||||
NumberOfBuffers = 2
|
||||
Signals = {
|
||||
PCF_STATE = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-SM"
|
||||
Type = uint32
|
||||
}
|
||||
MCPS_ACT_SP = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO"
|
||||
Type = uint32
|
||||
}
|
||||
GCPS_ACT_SP = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_REF = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-EREF"
|
||||
Type = float32
|
||||
}
|
||||
APS_REF = {
|
||||
PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A"
|
||||
Type = float32
|
||||
}
|
||||
MCPS_TRG_CURR_SET = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO"
|
||||
Type = float32
|
||||
}
|
||||
MCPS_TRG_CURR_SET = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO"
|
||||
Type = float32
|
||||
}
|
||||
FHPS_REF = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF"
|
||||
Type = float32
|
||||
}
|
||||
CSV_LOADED = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED"
|
||||
Type = uint32
|
||||
}
|
||||
CSV_ERR = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-CSV-ERR"
|
||||
Type = uint32
|
||||
}
|
||||
ELAPSED_TIME = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-ELAPSED"
|
||||
Type = uint32
|
||||
}
|
||||
HVARMED = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
|
||||
Type = uint32
|
||||
}
|
||||
HVINJECTION = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA2"
|
||||
Type = uint32
|
||||
}
|
||||
RFON = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_REF = {
|
||||
PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A"
|
||||
Type = float32
|
||||
}
|
||||
PREP_TIME_WF = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF"
|
||||
Type = int32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
MHVPS_PREP_WF = {
|
||||
PVName = "EC-GN-P01-PMF:STAT-PREP-WF"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
BPS_PREP_WF = {
|
||||
PVName = "EC-GN-P01-PB1F:STAT-PREP-WF"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
APS_PREP_WF = {
|
||||
PVName = "EC-GN-P01-PA1F:STAT-PREP-WF"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
MCPS_PREP_WF = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:STAT-PREP-WF"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GCPS_PREP_WF = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:STAT-PREP-WF"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
FHPS_PREP_WF = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:STAT-PREP-WF"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
CCPS_REF = {
|
||||
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF"
|
||||
Type = float32
|
||||
}
|
||||
MHVPS_STOP = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-COFF"
|
||||
Type = uint32
|
||||
}
|
||||
APS_STOP = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_STOP = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
BEAM_ON_TIME = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME"
|
||||
Type = uint32
|
||||
}
|
||||
PCF_FLT = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
PXI_FLT = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
|
||||
Type = uint32
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"
|
||||
Type = uint32
|
||||
}
|
||||
SHOT_ID = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-SHOT-ID"
|
||||
Type = uint32
|
||||
}
|
||||
FHPS_AUTO_STAT = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT"
|
||||
Type = uint32
|
||||
}
|
||||
APS_HVON = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV"
|
||||
Type = uint32
|
||||
}
|
||||
APS_SWON = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-CON-SW"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_HVON = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-CON-HV"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_SWON = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-CON-SW"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_HVON = {
|
||||
PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.A"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,419 @@
|
||||
+DDB2 = {
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
ResetUnusedVariablesAtStateChange = 0
|
||||
}
|
||||
+TimerSDN = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 40
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x200
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
// for ESDN packet subscription/publication.
|
||||
+SDNSubCommands = {
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJA
|
||||
Interface = SDN_IFACE
|
||||
CPUs = 0x200 //change from 100
|
||||
Locked = 1
|
||||
Timeout = 2
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
Command = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNReply = {
|
||||
Class = SDN::SDNPublisher
|
||||
Topic = SCUJA2ECPC
|
||||
Interface = SDN_IFACE
|
||||
CPUs = 0x200 //changed from 0x100
|
||||
Locked = 1
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ReplyStatus = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ReplyWaveformAck = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
//Status (26Bytes?) is not assigned
|
||||
//GyrotronA measurements
|
||||
//56Bytes are used as Gyrotron1 Measurements (verified on 2020/10/22)
|
||||
GYA_MHVPS_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_MHVPS_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_BPS_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_BPS_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_APS_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_APS_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_ARC1_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_ARC1_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_ARC2_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_ARC2_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_FHPS_MEAS_ACI = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_CCPS_MEAS_DCI = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
//GyrotronB measurements
|
||||
GYB_MHVPS_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_MHVPS_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_BPS_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_BPS_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_APS_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_APS_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_ARC1_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_ARC1_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_ARC2_MESVOLT = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_ARC2_MESCURR = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_MCPS_CURR_MON = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_GCPS_CURR_MON = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_FHPS_MEAS_ACI = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYB_CCPS_MEAS_DCI = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAInput_Th2 = {
|
||||
Class = "EPICSCA::EPICSCAInput"
|
||||
CPUMask = "0x100" //change from 200
|
||||
StackSize = "10000000"
|
||||
Signals = {
|
||||
// Analog Input PVs.
|
||||
GYA_BPS_MESVOLT = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_BPS_MESVOLT = {
|
||||
PVName = "EC-GN-P01-PB2F:PSU2000-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_BPS_MESCURR = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-IT"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_BPS_MESCURR = {
|
||||
PVName = "EC-GN-P01-PB2F:PSU2000-IT"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_APS_MESVOLT = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_APS_MESVOLT = {
|
||||
PVName = "EC-GN-P01-PA2F:PSU4000-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_APS_MESCURR = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-IT"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_APS_MESCURR = {
|
||||
PVName = "EC-GN-P01-PA2F:PSU4000-IT"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_ARC1_MESVOLT = {
|
||||
PVName = "EC-GN-P01-GAF:MOE2810-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_ARC1_MESVOLT = {
|
||||
PVName = "EC-GN-P01-GBF:MOE2810-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_ARC1_MESCURR = {
|
||||
PVName = "EC-GN-P01-GAF:MOE2820-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_ARC1_MESCURR = {
|
||||
PVName = "EC-GN-P01-GBF:MOE2820-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_ARC2_MESVOLT = {
|
||||
PVName = "EC-GN-P01-GAF:MOE2830-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_ARC2_MESVOLT = {
|
||||
PVName = "EC-GN-P01-GBF:MOE2830-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_ARC2_MESCURR = {
|
||||
PVName = "EC-GN-P01-GAF:MRF2910-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_ARC2_MESCURR = {
|
||||
PVName = "EC-GN-P01-GBF:MRF2910-ET"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_MHVPS_MESVOLT = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-ET-GA"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_MHVPS_MESVOLT = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-ET-GB"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_MHVPS_MESCURR = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-IT-GA"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYB_MHVPS_MESCURR = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-IT-GB"
|
||||
Type = float32
|
||||
NumberOfElements = 8000
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON"
|
||||
Type = float32
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON"
|
||||
Type = float32
|
||||
}
|
||||
GYB_MCPS_CURR_MON = {
|
||||
PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON"
|
||||
Type = float32
|
||||
}
|
||||
GYB_GCPS_CURR_MON = {
|
||||
PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON"
|
||||
Type = float32
|
||||
}
|
||||
GYA_FHPS_MEAS_ACI = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI"
|
||||
Type = float32
|
||||
}
|
||||
GYB_FHPS_MEAS_ACI = {
|
||||
PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI"
|
||||
Type = float32
|
||||
}
|
||||
GYA_CCPS_MEAS_DCI = {
|
||||
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI"
|
||||
Type = float32
|
||||
}
|
||||
GYB_CCPS_MEAS_DCI = {
|
||||
PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI"
|
||||
Type = float32
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,296 @@
|
||||
+DDB3 = {
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
ResetUnusedVariablesAtStateChange = 0
|
||||
}
|
||||
// Timer for thread 3 (RTStateMachineGAM execution cycle.)
|
||||
+Timer = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 40
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x400
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Direct HW accesses. Follwing device/port assignment must be consistent with actual wiring.
|
||||
// NI6259.0
|
||||
// APS_SWON BoardId=0, PortId=3.0
|
||||
+NI6259 = {
|
||||
Class = NI6259::NI6259DIO
|
||||
DeviceName = "/dev/pxi6259"
|
||||
BoardId = 1
|
||||
Signals = {
|
||||
NI6259Value = {
|
||||
Type = uint32
|
||||
Mask = 0xFF
|
||||
PortId = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//NI6528 digital output has logic low == 0 == close relay. ((See Driver Manual.)
|
||||
//When the program send ON signal, this program writes 0 on the data source.
|
||||
+NI6528P3 = {
|
||||
Class = NI6528
|
||||
DeviceName = "/dev/pxi6528.1"
|
||||
Port = 3
|
||||
NI6528P3Value = {
|
||||
NI6528P3Value = {
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
//P3.0 APS_HVON
|
||||
//P3.1 APS_SWON
|
||||
//P3.2 APS_Shutdown
|
||||
//P3.3 BPS_HVON
|
||||
//P3.4 BPS_SWON
|
||||
//P3.5 BPS_Shutdown
|
||||
//P3.6 GY1_Beam_ON_status
|
||||
//P3.7 RV5 _cRIO
|
||||
|
||||
+NI6528P4 = {
|
||||
Class = NI6528
|
||||
DeviceName = "/dev/pxi6528.1"
|
||||
Port = 4
|
||||
NI6528P4Value = {
|
||||
NI6528P4Value = {
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
//P4.0 RV6 _cRIO
|
||||
//P4.1 RV7 _cRIO
|
||||
//P4.2 RV8 _cRIO
|
||||
//P4.3 MHVPS_HVON
|
||||
//P4.4 MHVPS_Shutdown
|
||||
//P4.5 MHVPS_MOD
|
||||
//P4.6 PCF_FLT
|
||||
//P4.7 HVArmed
|
||||
|
||||
+NI6528P5 = {
|
||||
Class = NI6528
|
||||
DeviceName = "/dev/pxi6528.1"
|
||||
Port = 5
|
||||
NI6528P5Value = {
|
||||
NI6528P5Value = {
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
//P5.0 HVInjection
|
||||
//P5.1 RFON
|
||||
//P5.2 FHPS_Rampup_complete
|
||||
//P5.3 SCM_RU_Complete
|
||||
//P5.4 SCM_RD_Complete
|
||||
//P5.5 CCPS_IN_OPERATION
|
||||
//P5.6 None
|
||||
//P5.7 None
|
||||
+EPICSCAInput_Th3 = {
|
||||
Class = "EPICSCA::EPICSCAInput"
|
||||
CPUMask = "0x100" //change from 200
|
||||
StackSize = "10000000"
|
||||
Signals = {
|
||||
MHVPS_DT = {
|
||||
PVName = "EC-GN-P01-PMF:STAT-DT-HVON"
|
||||
Type = uint32
|
||||
}
|
||||
APS_HVON_DT = {
|
||||
PVName = "EC-GN-P01-PA1F:STAT-DT-HVON"
|
||||
Type = uint32
|
||||
}
|
||||
APS_SWON_DT = {
|
||||
PVName = "EC-GN-P01-PA1F:STAT-DT-SWON"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_HVON_DT = {
|
||||
PVName = "EC-GN-P01-PB1F:STAT-DT-HVON"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_SWON_DT = {
|
||||
PVName = "EC-GN-P01-PB1F:STAT-DT-SWON"
|
||||
Type = uint32
|
||||
}
|
||||
SHOTLEN = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-DT-SHOTLEN"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_ON = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R"
|
||||
Type = uint32
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-YFLT"
|
||||
Type = uint32
|
||||
}
|
||||
GYB_APS_FLT = {
|
||||
PVName = "EC-GN-P01-PA2F:PSU4000-YFLT"
|
||||
Type = uint32
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-YFLT"
|
||||
Type = uint32
|
||||
}
|
||||
GYB_BPS_FLT = {
|
||||
PVName = "EC-GN-P01-PB2F:PSU2000-YFLT"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OV = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-YFLT-OC"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OC = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-YFLT-OV"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-YFLT"
|
||||
Type = uint32
|
||||
}
|
||||
MIS_ITL = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-YTRP"
|
||||
Type = uint32
|
||||
}
|
||||
MISB_ITL = {
|
||||
PVName = "EC-GN-P01-GBFP:FMC4310-YTRP"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_ITL = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTRP"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_MODE1 = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD1"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_MODE2 = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD2"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_MODE3 = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD3"
|
||||
Type = uint32
|
||||
}
|
||||
PLC_MODE4 = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD4"
|
||||
Type = uint32
|
||||
}
|
||||
MD1_SHOTLEN_LIM = {
|
||||
PVName = "EC-GN-P01-GPF:STAT-MD1-LIM"
|
||||
Type = uint32
|
||||
}
|
||||
MD2_SHOTLEN_LIM = {
|
||||
PVName = "EC-GN-P01-GPF:STAT-MD2-LIM"
|
||||
Type = uint32
|
||||
}
|
||||
MD3_SHOTLEN_LIM = {
|
||||
PVName = "EC-GN-P01-GPF:STAT-MD3-LIM"
|
||||
Type = uint32
|
||||
}
|
||||
MD4_SHOTLEN_LIM = {
|
||||
PVName = "EC-GN-P01-GPF:STAT-MD4-LIM"
|
||||
Type = uint32
|
||||
}
|
||||
RFON = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3"
|
||||
Type = uint32
|
||||
}
|
||||
APS_HVON = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV"
|
||||
Type = uint32
|
||||
}
|
||||
APS_SWON = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-CON-SW"
|
||||
Type = uint32
|
||||
}
|
||||
APS_STOP = {
|
||||
PVName = "EC-GN-P01-PA1F:PSU3000-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_HVON = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-CON-HV"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_SWON = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-CON-SW"
|
||||
Type = uint32
|
||||
}
|
||||
BPS_STOP = {
|
||||
PVName = "EC-GN-P01-PB1F:PSU1000-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"
|
||||
Type = uint32
|
||||
}
|
||||
DO_REV5 = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-RV5"
|
||||
Type = uint32
|
||||
}
|
||||
DO_REV6 = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-RV6"
|
||||
Type = uint32
|
||||
}
|
||||
DO_REV7 = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-RV7"
|
||||
Type = uint32
|
||||
}
|
||||
DO_REV8 = {
|
||||
PVName = "EC-GN-P01-GAFP:FMC4310-RV8"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_HVON = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-CON-SW"
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_MODSW = {
|
||||
PVName = "EC-GN-P01-PMF:PSU0000-CON-MOD"
|
||||
Type = uint32
|
||||
}
|
||||
PCF_FLT = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
PXI_FLT = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
|
||||
Type = uint32
|
||||
}
|
||||
HVARMED = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
|
||||
Type = uint32
|
||||
}
|
||||
HVINJECTION = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA2"
|
||||
Type = uint32
|
||||
}
|
||||
SHORT_PULSE_MODE = {
|
||||
PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE"
|
||||
Type = uint32
|
||||
}
|
||||
FHPS_RU = {
|
||||
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"
|
||||
Type = uint32
|
||||
}
|
||||
SCM_RU = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP"
|
||||
Type = uint32
|
||||
}
|
||||
SCM_RD = {
|
||||
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN"
|
||||
Type = uint32
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-TR"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
+DDB4 = {
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
ResetUnusedVariablesAtStateChange = 0
|
||||
}
|
||||
+Timer10Hz = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 40
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x800
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,518 @@
|
||||
// Timer for SDN thread.
|
||||
+TimeSDNGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = TimerSDN
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = TimerSDN
|
||||
Type = uint32
|
||||
Frequency = 1000 //operation:1k(=1ms cyc), debug:10
|
||||
}
|
||||
GYA_BPS_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_BPS_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_BPS_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_BPS_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_APS_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_APS_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_APS_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_APS_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_ARC1_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_ARC1_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_ARC1_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_ARC1_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_ARC2_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_ARC2_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_ARC2_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_ARC2_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_MHVPS_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_MHVPS_MESVOLT = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_MHVPS_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYB_MHVPS_MESCURR = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYB_MCPS_CURR_MON = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYB_GCPS_CURR_MON = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYA_FHPS_MEAS_ACI = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYB_FHPS_MEAS_ACI = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYA_CCPS_MEAS_DCI = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
GYB_CCPS_MEAS_DCI = {
|
||||
DataSource = EPICSCAInput_Th2
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
TimeSDN = {
|
||||
DataSource = DDB2
|
||||
Type = uint32
|
||||
}
|
||||
CounterSDN = {
|
||||
DataSource = DDB2
|
||||
Type = uint32
|
||||
}
|
||||
GYA_BPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_BPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_BPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_BPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_APS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_APS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_APS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_APS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC1_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC1_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC1_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC1_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC2_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC2_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC2_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC2_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_MHVPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_MHVPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_MHVPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_MHVPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_MCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_GCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_FHPS_MEAS_ACI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_FHPS_MEAS_ACI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_CCPS_MEAS_DCI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_CCPS_MEAS_DCI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
}
|
||||
}
|
||||
//GAM for SDN communication.(ProcessWF:thread1, Subscribe/Publish:thread2)
|
||||
+SDNCommandGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Command = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
Ranges = {{0 0}}
|
||||
// TODO uncomment this for release/testing
|
||||
//Frequency = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Command = {
|
||||
DataSource = DDB2
|
||||
Type = uint16
|
||||
}
|
||||
ESDNTime = {
|
||||
DataSource = DDB2
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNReplyGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
ESDNTime = {
|
||||
DataSource = DDB2
|
||||
Type = uint32
|
||||
}
|
||||
WaveformPacketID = {
|
||||
DataSource = DDB2
|
||||
Type = uint16
|
||||
}
|
||||
GYA_BPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_BPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_BPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_BPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_APS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_APS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_APS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_APS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC1_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC1_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC1_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC1_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC2_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC2_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_ARC2_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_ARC2_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_MHVPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_MHVPS_MESVOLT = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_MHVPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_MHVPS_MESCURR = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_MCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_GCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_FHPS_MEAS_ACI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_FHPS_MEAS_ACI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_CCPS_MEAS_DCI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYB_CCPS_MEAS_DCI = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
|
||||
Command = {
|
||||
DataSource = DDB2
|
||||
Type = uint16
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
DataSource = DDB2
|
||||
Type = float32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
ESDNTime = {
|
||||
DataSource = SDNReply
|
||||
Type = uint32
|
||||
Trigger = 1
|
||||
}
|
||||
ReplyWaveformAck = {
|
||||
DataSource = SDNReply
|
||||
Type = uint16
|
||||
}
|
||||
GYA_BPS_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_BPS_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_BPS_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_BPS_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_APS_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_APS_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_APS_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_APS_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_ARC1_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_ARC1_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_ARC1_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_ARC1_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_ARC2_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_ARC2_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_ARC2_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_ARC2_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_MHVPS_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_MHVPS_MESVOLT = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_MHVPS_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_MHVPS_MESCURR = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_MCPS_CURR_MON = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_GCPS_CURR_MON = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_FHPS_MEAS_ACI = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_FHPS_MEAS_ACI = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYA_CCPS_MEAS_DCI = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
GYB_CCPS_MEAS_DCI = {
|
||||
DataSource = SDNReply
|
||||
}
|
||||
|
||||
Command = {
|
||||
DataSource = TriggerAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
GYA_MCPS_CURR_MON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = float32
|
||||
}
|
||||
GYA_GCPS_CURR_MON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = float32
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,80 @@
|
||||
+Timer10HzGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Counter = {
|
||||
DataSource = Timer10Hz
|
||||
Type = uint32
|
||||
Frequency = 1 //Hz
|
||||
}
|
||||
Time = {
|
||||
DataSource = Timer10Hz
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Counter10Hz = {
|
||||
DataSource = DDB4
|
||||
Type = uint32
|
||||
}
|
||||
Time1Hz = {
|
||||
DataSource = DDB4
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+GAMExecTime = {//debug
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
GAMEPICSCA_ExecTime = {
|
||||
DataSource = Timings
|
||||
Type = uint32
|
||||
}
|
||||
StopRequestGAM_ExecTime = {
|
||||
DataSource = Timings
|
||||
Type = uint32
|
||||
}
|
||||
ModeLimitGAM_ExecTime = {
|
||||
DataSource = Timings
|
||||
Type = uint32
|
||||
}
|
||||
NI6528P3GAM_ExecTime = {
|
||||
DataSource = Timings
|
||||
Type = uint32
|
||||
}
|
||||
terminalInterfaceGAM_ExecTime = {
|
||||
DataSource = Timings
|
||||
Type = uint32
|
||||
}
|
||||
GAMRealTimeStateMachine_ExecTime = {
|
||||
DataSource = Timings
|
||||
Type = uint32
|
||||
}
|
||||
|
||||
}
|
||||
OutputSignals = {
|
||||
GAMEPICSCA_ExecTime = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
StopRequestGAM_ExecTime = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
ModeLimitGAM_ExecTime = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
NI6528P3GAM_ExecTime = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
terminalInterfaceGAM_ExecTime = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
GAMRealTimeStateMachine_ExecTime = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,786 @@
|
||||
// StateMachine node
|
||||
+StateMachine = {
|
||||
Class = StateMachine
|
||||
+INITIAL = {
|
||||
Class = ReferenceContainer
|
||||
+Start = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+DISABLED = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITSTANDBY = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitReady = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITREADY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitReady
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoDisabled = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "DISABLED"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Disabled
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITREADY = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitPermit = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITPERMIT"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitPermit
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITPERMIT = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitReady = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITREADY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitReady
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitHVON = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITHVON"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitHVON
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitHVON_SDN = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITHVON_SDN"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitHVON_SDN
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitHVON_PREP = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITHVON_PREP"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitHVON_PREP
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitHVON_SDN_PREP = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITHVON_SDN_PREP"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitHVON_SDN_PREP
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
// HVPS sequence control states.
|
||||
+WAITHVON = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitPermit = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITPERMIT"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitPermit
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITHVON_SDN = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitPermit = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITPERMIT"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitPermit
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITHVON_PREP = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitPermit = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITPERMIT"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitPermit
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITHVON_SDN_PREP = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoWaitPermit = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITPERMIT"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitPermit
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
+GoError = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "ERROR"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = Error
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
// Error State (Enter by HVPS errors)
|
||||
+ERROR = {
|
||||
Class = ReferenceContainer
|
||||
+GoWaitStandby = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "ERROR"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
+Disabled = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InDisabledGAM
|
||||
CCPSWaveformGAM
|
||||
ChoiseGAM MCPSGAM GCPSGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
GoErrorGAM GoWaitStandbyGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
|
||||
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
+Error = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InErrorGAM
|
||||
CCPSWaveformGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
ExitedHVArmedInjectionRFONGAM ResetPSsGAM ErrorGAM
|
||||
EPICSOutputGAM
|
||||
FromErrorToWaitStandbyGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
|
||||
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
+WaitHVON = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitHVONGAM
|
||||
CCPSWaveformGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
StopRequestGAM ModeLimitGAM
|
||||
GAMRealTimeStateMachine
|
||||
NI6528P5GAM
|
||||
NI6528P5PV2PortGAM
|
||||
NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
+WaitHVON_PREP = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitHVON_PREPGAM
|
||||
CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
StopRequestGAM ModeLimitGAM
|
||||
GAMRealTimeStateMachine
|
||||
NI6528P5GAM
|
||||
NI6528P5PV2PortGAM
|
||||
NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
+WaitHVON_SDN = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitHVON_SDNGAM
|
||||
CCPSWaveformGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
StopRequestGAM ModeLimitGAM
|
||||
GAMSDNRealTimeStateMachine
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
TerminalInterfaceGAM
|
||||
NI6528P5PV2PortGAM
|
||||
NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
+WaitHVON_SDN_PREP = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitHVON_SDN_PREPGAM
|
||||
CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
StopRequestGAM ModeLimitGAM
|
||||
GAMSDNRealTimeStateMachine
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
TerminalInterfaceGAM
|
||||
NI6528P5PV2PortGAM
|
||||
NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
+WaitPermit = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitPermitGAM
|
||||
CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoWaitReadyFromWaitPermitGAM GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
|
||||
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
+WaitReady = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitReadyGAM
|
||||
CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSRampupGAM
|
||||
ChoiseGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
|
||||
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
+WaitStandby = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer1kHzGAM
|
||||
InWaitStandbyGAM
|
||||
CCPSWaveformGAM FHPSRampupGAM
|
||||
ChoiseGAM MCPSGAM GCPSGAM
|
||||
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
EPICSOutputGAM
|
||||
GoDisabledGAM GoWaitReadyGAM GoErrorGAM
|
||||
}
|
||||
CPUs = TH1_CPU
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
TimeSDNGAM SDNCommandGAM SDNReplyGAM
|
||||
}
|
||||
CPUs = TH2_CPU
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {
|
||||
Timer100kHzGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P5GAM
|
||||
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
|
||||
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
|
||||
ShareOutGAM
|
||||
}
|
||||
CPUs = TH3_CPU
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -804,6 +804,141 @@
|
||||
Class = RealTimeApplication
|
||||
+Functions = {
|
||||
Class = ReferenceContainer
|
||||
+ReadyDebugGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
NI6528P5CurrentValue = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
P5CurrentValue = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+DebugGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
PXI_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
NI6528P5CurrentValue = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
RESET_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYB_APS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYB_BPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MISB_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
PCF_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
|
||||
PXI_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
PXI_VAL = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
RESET_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
GYB_APS_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
GYB_BPS_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
MISB_ITL = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
//Timer GAM for thread 1.
|
||||
+Timer1kHzGAM = {
|
||||
Class = IOGAM
|
||||
@@ -863,6 +998,12 @@
|
||||
Type = uint32
|
||||
Default = 1
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 1
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
+InDisabledGAM = {
|
||||
@@ -873,6 +1014,11 @@
|
||||
Type = uint32
|
||||
Default = 2
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
+InWaitStandbyGAM = {
|
||||
@@ -883,6 +1029,12 @@
|
||||
Type = uint32
|
||||
Default = 3
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+InWaitReadyGAM = {
|
||||
@@ -893,6 +1045,12 @@
|
||||
Type = uint32
|
||||
Default = 4
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+InWaitPermitGAM = {
|
||||
@@ -903,6 +1061,12 @@
|
||||
Type = uint32
|
||||
Default = 5
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+InWaitHVONGAM = {
|
||||
@@ -913,6 +1077,12 @@
|
||||
Type = uint32
|
||||
Default = 6
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+InWaitHVON_PREPGAM = {
|
||||
@@ -923,6 +1093,12 @@
|
||||
Type = uint32
|
||||
Default = 7
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+InWaitHVON_SDNGAM = {
|
||||
@@ -933,6 +1109,12 @@
|
||||
Type = uint32
|
||||
Default = 8
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+InWaitHVON_SDN_PREPGAM = {
|
||||
@@ -943,6 +1125,12 @@
|
||||
Type = uint32
|
||||
Default = 9
|
||||
}
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1072,10 +1260,15 @@
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
// MARTe Internal PCF_FLT
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
PXI_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
@@ -1212,9 +1405,13 @@
|
||||
DataSource = EPICSCAOutput
|
||||
Type = uint32
|
||||
}
|
||||
// EPICS PCF_FLT
|
||||
PCF_FLT = {
|
||||
DataSource = EPICSCAOutput
|
||||
}
|
||||
PXI_FLT = {
|
||||
DataSource = EPICSCAOutput
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
DataSource = EPICSCAOutput
|
||||
}
|
||||
@@ -2180,6 +2377,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+PXIErrorGAM = {
|
||||
Class = JAConditionalSignalUpdateGAM
|
||||
Operation = OR
|
||||
@@ -2207,8 +2405,8 @@
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
PCF_FLT = {
|
||||
DataSource = DDB1
|
||||
PXI_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
@@ -2325,63 +2523,6 @@
|
||||
Function = GoError
|
||||
}
|
||||
}
|
||||
+GoErrorFromWaitHVON_SDNGAM = {
|
||||
Class = JAMessageGAM
|
||||
Operation = OR
|
||||
//ExpectedIntValues = {1 1 1 1 1 1 1 1 1 1 0}
|
||||
ExpectedIntValues = {1 1 1 1 1 1 1 1 1 1}
|
||||
InputSignals = {
|
||||
GYA_APS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYB_APS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYB_BPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MISB_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
//SDN_Connection = {
|
||||
// DataSource = DDB1
|
||||
// Type = uint32
|
||||
//}
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
Destination = StateMachine
|
||||
Function = GoError
|
||||
}
|
||||
}
|
||||
// Reset HVPS outputs. ToDo: Fix to access NI d.s.
|
||||
+ResetPSsGAM = {
|
||||
Class = ConstantGAM
|
||||
@@ -2460,13 +2601,8 @@
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
ESDNStatus = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
Ranges = {{0 0}}
|
||||
// TODO uncomment this for release/testing
|
||||
//Frequency = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
DataSource = SDNSubCommands
|
||||
@@ -2480,39 +2616,17 @@
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
ESDNStatus = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint8
|
||||
}
|
||||
ESDNTime = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNCommandGAM2 = {
|
||||
+debugSDNGAM = {//for debug
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Command = {
|
||||
DataSource = SDNSubCommands2
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Command2 = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
}
|
||||
+debugGAM = {//for validation func. debug
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
SDN_Connection = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
ESDNTime = {
|
||||
@@ -2521,9 +2635,9 @@
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
SDN_Connection_DISP = {
|
||||
Command_DISP = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
Type = float32
|
||||
}
|
||||
ESDNTime_DISP = {
|
||||
DataSource = Display
|
||||
@@ -2531,54 +2645,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+debugGAM_Group = {//for group func. debug
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
ESDNStatus = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint8
|
||||
}
|
||||
Command = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint16
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
ESDNStatus1_DISP = {
|
||||
DataSource = Display
|
||||
Type = uint8
|
||||
}
|
||||
Command1_DISP = {
|
||||
DataSource = Display
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
}
|
||||
+debugGAM_Group2 = {//for group func. debug
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
ESDNStatus = {
|
||||
DataSource = SDNSubCommands2
|
||||
Type = uint8
|
||||
}
|
||||
Command = {
|
||||
DataSource = SDNSubCommands2
|
||||
Type = uint16
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
ESDNStatus2_DISP = {
|
||||
DataSource = Display
|
||||
Type = uint8
|
||||
}
|
||||
Command2_DISP = {
|
||||
DataSource = Display
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNReplyGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
@@ -2791,21 +2857,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNTimeCompareGAM = { // for "Validation" functionality
|
||||
Class = JAESDNTimeCompareGAM
|
||||
InputSignals = {
|
||||
ESDNTime = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
SDN_Connection = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
//Write SDN waveform data into PS setpoint PV.
|
||||
|
||||
// Timer for SDN thread.
|
||||
+TimeSDNGAM = {
|
||||
@@ -2818,8 +2870,7 @@
|
||||
Counter = {
|
||||
DataSource = TimerSDN
|
||||
Type = uint32
|
||||
//Frequency = 1000 //operation:1k(=1ms cyc), debug:10
|
||||
Frequency = 900 //TimeCompareGAM for validation function properly work at 900Hz
|
||||
Frequency = 1000 //operation:1k(=1ms cyc), debug:10
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
@@ -2845,7 +2896,7 @@
|
||||
Counter = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
Frequency = 10000
|
||||
Frequency = 200000 //operation:10k(=100us cyc)
|
||||
//Frequency = 100000 //operation:100k(=10us cyc)
|
||||
}
|
||||
RTThreadPerf = {
|
||||
@@ -2985,11 +3036,10 @@
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
NONE1 = {
|
||||
PXI_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
Default = 0
|
||||
}
|
||||
}
|
||||
NONE2 = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
@@ -2998,7 +3048,7 @@
|
||||
}
|
||||
OutputSignals = {
|
||||
NI6528P5CurrentValue = {
|
||||
DataSource = DDB1
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
@@ -3038,7 +3088,7 @@
|
||||
Class = JABitReverseGAM
|
||||
InputSignals = {
|
||||
NI6528P5CurrentValue = {
|
||||
DataSource = DDB1
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
@@ -3338,14 +3388,7 @@
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
Command2 = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
ESDNStatus = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint8
|
||||
}
|
||||
|
||||
}
|
||||
OutputSignals = {
|
||||
RTSMValue = {
|
||||
@@ -3381,37 +3424,6 @@
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
//Added 20210602
|
||||
APS_HVON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
APS_SWON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
BPS_HVON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
BPS_SWON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_HVON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
NI6528P3Value = {
|
||||
DataSource = NI6528P3
|
||||
//DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
NI6528P4Value = {
|
||||
DataSource = NI6528P4
|
||||
//DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3754,14 +3766,12 @@
|
||||
}
|
||||
+Display = {
|
||||
Class = LoggerDataSource
|
||||
CyclePeriod = 00
|
||||
}
|
||||
// for data exechange between threads.
|
||||
+RealTimeThreadAsyncBridge = {
|
||||
//Class = RealTimeThreadAsyncBridge
|
||||
//NumberOfBuffers = 20
|
||||
NumberOfBuffers = 64
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
Class = RealTimeThreadAsyncBridge
|
||||
NumberOfBuffers = 20
|
||||
}
|
||||
// for access ECPIS PV.
|
||||
+EPICSCAInput = {
|
||||
@@ -4083,6 +4093,10 @@
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
PXI_FLT = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
|
||||
Type = uint32
|
||||
}
|
||||
HVARMED = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
|
||||
Type = uint32
|
||||
@@ -4470,6 +4484,10 @@
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
|
||||
Type = uint32
|
||||
}
|
||||
PXI_FLT = {
|
||||
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
|
||||
Type = uint32
|
||||
}
|
||||
HVARMED = {
|
||||
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
|
||||
Type = uint32
|
||||
@@ -4603,52 +4621,7 @@
|
||||
+SDNSubCommands = {
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJA
|
||||
Interface = enp17s0f0
|
||||
CPUs = 0x200 //change from 100
|
||||
Locked = 1
|
||||
Timeout = 2
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
Command = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNSubCommands2 = {
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJA2
|
||||
Interface = enp17s0f0
|
||||
Interface = enp35s0f1
|
||||
CPUs = 0x200 //change from 100
|
||||
Locked = 1
|
||||
Timeout = 2
|
||||
@@ -4693,7 +4666,7 @@
|
||||
+SDNReply = {
|
||||
Class = SDN::SDNPublisher
|
||||
Topic = SCUJA2ECPC
|
||||
Interface = enp17s0f0
|
||||
Interface = enp35s0f1
|
||||
CPUs = 0x200 //changed from 0x100
|
||||
Locked = 1
|
||||
Signals = {
|
||||
@@ -4973,7 +4946,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -4999,7 +4972,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5020,12 +4993,12 @@
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM
|
||||
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM }
|
||||
GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM ReadyDebugGAM}
|
||||
CPUs = 0x100
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5051,7 +5024,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5081,7 +5054,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5108,19 +5081,19 @@
|
||||
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM
|
||||
writeBeamONTimeGAM writeRFONTimeGAM
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorFromWaitHVON_SDNGAM }
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
|
||||
CPUs = 0x100
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM
|
||||
NI6528P3GAM NI6528P4GAM
|
||||
GAMSDNRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
CPUs = 0x400
|
||||
}
|
||||
}
|
||||
@@ -5140,7 +5113,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5167,14 +5140,14 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM
|
||||
NI6528P3GAM NI6528P4GAM
|
||||
GAMSDNRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
CPUs = 0x400
|
||||
}
|
||||
}
|
||||
@@ -5188,12 +5161,12 @@
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
ExitedHVArmedInjectionRFONGAM ResetPSsGAM
|
||||
FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM }
|
||||
FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM DebugGAM}
|
||||
CPUs = 0x100
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x200
|
||||
}
|
||||
+Thread3 = {
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,15 @@
|
||||
// LoggerService node: See /var/log/messages file.
|
||||
// +LoggerService = {
|
||||
// Class = LoggerService
|
||||
// CPUs = 0x8000
|
||||
// StackSize = 32768
|
||||
// NumberOfLogPages = 128
|
||||
// +SysLogger = {
|
||||
// Class = SysLogger
|
||||
// Format = "EtOoFmC"
|
||||
// PrintKeys = 1
|
||||
// Ident = "JAGyA"
|
||||
// }
|
||||
// Class = LoggerService
|
||||
// CPUs = 0x8000
|
||||
// StackSize = 32768
|
||||
// NumberOfLogPages = 128
|
||||
// +SysLogger = {
|
||||
// Class = SysLogger
|
||||
// Format = "EtOoFmC"
|
||||
// PrintKeys = 1
|
||||
// Ident = "JAGyA"
|
||||
// }
|
||||
// }
|
||||
|
||||
// StateMachine node
|
||||
@@ -1695,8 +1695,8 @@
|
||||
Type = uint32
|
||||
}
|
||||
HVInjection = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
@@ -2301,63 +2301,6 @@
|
||||
Function = GoError
|
||||
}
|
||||
}
|
||||
+GoErrorFromWaitHVON_SDNGAM = {
|
||||
Class = JAMessageGAM
|
||||
Operation = OR
|
||||
//ExpectedIntValues = {1 1 1 1 1 1 1 1 1 1 0}
|
||||
ExpectedIntValues = {1 1 1 1 1 1 1 1 1 1}
|
||||
InputSignals = {
|
||||
GYA_APS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYB_APS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
GYB_BPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
MISB_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
//SDN_Connection = {
|
||||
// DataSource = DDB1
|
||||
// Type = uint32
|
||||
//}
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
Destination = StateMachine
|
||||
Function = GoError
|
||||
}
|
||||
}
|
||||
// Reset HVPS outputs. ToDo: Fix to access NI d.s.
|
||||
+ResetPSsGAM = {
|
||||
Class = ConstantGAM
|
||||
@@ -2456,24 +2399,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNCommandGAM2 = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Command = {
|
||||
DataSource = SDNSubCommands2
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
Ranges = {{0 0}}
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Command2 = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+SDNReplyGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
@@ -2686,21 +2612,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNTimeCompareGAM = { // for "Validation" functionality
|
||||
Class = JAESDNTimeCompareGAM
|
||||
InputSignals = {
|
||||
ESDNTime = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
SDN_Connection = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
//Write SDN waveform data into PS setpoint PV.
|
||||
|
||||
// Timer for SDN thread.
|
||||
+TimeSDNGAM = {
|
||||
@@ -2713,8 +2625,12 @@
|
||||
Counter = {
|
||||
DataSource = TimerSDN
|
||||
Type = uint32
|
||||
//Frequency = 1000 //operation:1k(=1ms cyc), debug:10
|
||||
Frequency = 900 //TimeCompareGAM for validation function properly work at 900Hz for QST ECPC
|
||||
Frequency = 1000 //operation:1k(=1ms cyc), debug:10
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = Timings
|
||||
Alias = "WaitHVON.Thread3_CycleTime"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
@@ -2726,6 +2642,10 @@
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
RTThreadPerfSDN = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2740,8 +2660,7 @@
|
||||
Counter = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
Frequency = 10000
|
||||
//Frequency = 100000 //operation:100k(=10us cyc), debug:10
|
||||
Frequency = 200000 //operation:100k(=10us cyc), debug:10
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = Timings
|
||||
@@ -3160,8 +3079,8 @@
|
||||
Type = uint32
|
||||
}
|
||||
StopRequest = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
MODE_SHOTLEN_FLAG = {
|
||||
DataSource = DDB1
|
||||
@@ -3298,8 +3217,8 @@
|
||||
Type = uint32
|
||||
}
|
||||
StopRequest = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
MODE_SHOTLEN_FLAG = {
|
||||
DataSource = DDB1
|
||||
@@ -3309,14 +3228,6 @@
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
Command2 = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint16
|
||||
}
|
||||
ESDNStatus = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint8
|
||||
}
|
||||
|
||||
}
|
||||
OutputSignals = {
|
||||
@@ -3353,37 +3264,6 @@
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
//Added 20210603
|
||||
APS_HVON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
APS_SWON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
BPS_HVON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
BPS_SWON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
MHVPS_HVON = {
|
||||
DataSource = RealTimeThreadAsyncBridge
|
||||
Type = uint32
|
||||
}
|
||||
NI6528P3Value = {
|
||||
DataSource = NI6528P3
|
||||
//DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
NI6528P4GYAValue = {
|
||||
DataSource = NI6528P4GYA
|
||||
//DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3616,11 +3496,8 @@
|
||||
}
|
||||
// for data exechange between threads.
|
||||
+RealTimeThreadAsyncBridge = {
|
||||
//Class = RealTimeThreadAsyncBridge
|
||||
//NumberOfBuffers = 20
|
||||
NumberOfBuffers = 64
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
Class = RealTimeThreadAsyncBridge
|
||||
NumberOfBuffers = 20
|
||||
}
|
||||
// for access ECPIS PV.
|
||||
+EPICSCAInput = {
|
||||
@@ -4278,27 +4155,27 @@
|
||||
}
|
||||
//PXI Board status PVs
|
||||
PXI6259_0 = {
|
||||
PVName = "EC-GN-P01-HWCF:6259-0-STATUS"
|
||||
PVName = "EC-GN-HWCF:6259-0-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6259_1 = {
|
||||
PVName = "EC-GN-P01-HWCF:6259-1-STATUS"
|
||||
PVName = "EC-GN-HWCF:6259-1-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6528_0 = {
|
||||
PVName = "EC-GN-P01-HWCF:6528-0-STATUS"
|
||||
PVName = "EC-GN-HWCF:6528-0-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6528_1 = {
|
||||
PVName = "EC-GN-P01-HWCF:6528-1-STATUS"
|
||||
PVName = "EC-GN-HWCF:6528-1-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6368_0 = {
|
||||
PVName = "EC-GN-P01-HWCF:6368-0-STATUS"
|
||||
PVName = "EC-GN-HWCF:6368-0-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
PXI6368_1 = {
|
||||
PVName = "EC-GN-P01-HWCF:6368-1-STATUS"
|
||||
PVName = "EC-GN-HWCF:6368-1-STATUS"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
@@ -4489,51 +4366,6 @@
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJA
|
||||
Interface = enp27s0f0
|
||||
CPUs = 0x2000
|
||||
Locked = 1
|
||||
Timeout = 2
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
Command = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNSubCommands2 = {
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJA2
|
||||
Interface = enp27s0f0
|
||||
CPUs = 0x2000
|
||||
Locked = 1
|
||||
Timeout = 2
|
||||
@@ -4878,7 +4710,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -4899,12 +4731,12 @@
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM
|
||||
choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
GoDisabledGAM GoWaitReadyGAM GoErrorGAM }
|
||||
GoDisabledGAM GoWaitReadyGAM GoErrorGAM CCPSWaveformGAM }
|
||||
CPUs = 0x1000
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -4930,7 +4762,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -4956,7 +4788,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -4986,7 +4818,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5008,19 +4840,19 @@
|
||||
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM
|
||||
writeBeamONTimeGAM writeRFONTimeGAM
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorFromWaitHVON_SDNGAM }
|
||||
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
|
||||
CPUs = 0x1000
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM
|
||||
GAMSDNRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
CPUs = 0x4000
|
||||
}
|
||||
}
|
||||
@@ -5040,7 +4872,7 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
@@ -5067,14 +4899,14 @@
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM
|
||||
NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM
|
||||
GAMSDNRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM}
|
||||
CPUs = 0x4000
|
||||
}
|
||||
}
|
||||
@@ -5088,12 +4920,12 @@
|
||||
Class = RealTimeThread
|
||||
Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
|
||||
ExitedHVArmedInjectionRFONGAM ResetPSsGAM
|
||||
FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM }
|
||||
FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM}
|
||||
CPUs = 0x1000
|
||||
}
|
||||
+Thread2 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNCommandGAM2 SDNReplyGAM SDNTimeCompareGAM }
|
||||
Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM}
|
||||
CPUs = 0x2000
|
||||
}
|
||||
+Thread3 = {
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
#############################################################
|
||||
#
|
||||
# Copyright 2015 F4E | European Joint Undertaking for ITER
|
||||
# and the Development of Fusion Energy ('Fusion for Energy')
|
||||
#
|
||||
# Licensed under the EUPL, Version 1.1 or - as soon they
|
||||
# will be approved by the European Commission - subsequent
|
||||
# versions of the EUPL (the "Licence");
|
||||
# You may not use this work except in compliance with the
|
||||
# Licence.
|
||||
# You may obtain a copy of the Licence at:
|
||||
#
|
||||
# http://ec.europa.eu/idabc/eupl
|
||||
#
|
||||
# Unless required by applicable law or agreed to in
|
||||
# writing, software distributed under the Licence is
|
||||
# distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
# express or implied.
|
||||
# See the Licence for the specific language governing
|
||||
# permissions and limitations under the Licence.
|
||||
#
|
||||
# $Id: Makefile.gcc 3 2012-01-15 16:26:07Z aneto $
|
||||
#
|
||||
#############################################################
|
||||
|
||||
include Makefile.inc
|
||||
#############################################################
|
||||
#
|
||||
# Copyright 2015 EFDA | European Joint Undertaking for ITER
|
||||
# and the Development of Fusion Energy ("Fusion for Energy")
|
||||
#
|
||||
# Licensed under the EUPL, Version 1.1 or - as soon they
|
||||
# will be approved by the European Commission - subsequent
|
||||
# versions of the EUPL (the "Licence");
|
||||
# You may not use this work except in compliance with the
|
||||
# Licence.
|
||||
# You may obtain a copy of the Licence at:
|
||||
#
|
||||
# http://ec.europa.eu/idabc/eupl
|
||||
#
|
||||
# Unless required by applicable law or agreed to in
|
||||
# writing, software distributed under the Licence is
|
||||
# distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
# express or implied.
|
||||
# See the Licence for the specific language governing
|
||||
# permissions and limitations under the Licence.
|
||||
#
|
||||
# $Id: Makefile.gcc 3 2015-01-15 16:26:07Z aneto $
|
||||
#
|
||||
#############################################################
|
||||
|
||||
#Defines the target architecture
|
||||
export TARGET=cfg
|
||||
|
||||
include Makefile.inc
|
||||
@@ -0,0 +1,42 @@
|
||||
#############################################################
|
||||
#
|
||||
# Copyright 2015 F4E | European Joint Undertaking for ITER
|
||||
# and the Development of Fusion Energy ('Fusion for Energy')
|
||||
#
|
||||
# Licensed under the EUPL, Version 1.1 or - as soon they
|
||||
# will be approved by the European Commission - subsequent
|
||||
# versions of the EUPL (the "Licence");
|
||||
# You may not use this work except in compliance with the
|
||||
# Licence.
|
||||
# You may obtain a copy of the Licence at:
|
||||
#
|
||||
# http://ec.europa.eu/idabc/eupl
|
||||
#
|
||||
# Unless required by applicable law or agreed to in
|
||||
# writing, software distributed under the Licence is
|
||||
# distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
# express or implied.
|
||||
# See the Licence for the specific language governing
|
||||
# permissions and limitations under the Licence.
|
||||
#
|
||||
#############################################################
|
||||
|
||||
#Named of the unit files to be compiled
|
||||
OBJSX=JAGyrotronA_FY19_P1.x
|
||||
|
||||
#Location of the Build directory where the configuration file will be written to
|
||||
BUILD_DIR?=.
|
||||
|
||||
#Location of the MakeDefaults directory.
|
||||
#Note that the MARTe2_DIR environment variable
|
||||
#must have been exported before
|
||||
MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults
|
||||
|
||||
include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET)
|
||||
|
||||
all: $(OBJS)
|
||||
echo $(OBJS)
|
||||
|
||||
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)
|
||||
|
||||
@@ -0,0 +1,293 @@
|
||||
../..//Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAInput.o: JAEPICSCAInput.cpp JAEPICSCAInput.h \
|
||||
/opt/codac-6.0/epics/include/cadef.h \
|
||||
/opt/codac-6.0/epics/include/epicsThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdEvent.h \
|
||||
/opt/codac-6.0/epics/include/epicsMutex.h \
|
||||
/opt/codac-6.0/epics/include/epicsAssert.h \
|
||||
/opt/codac-6.0/epics/include/compilerDependencies.h \
|
||||
/opt/codac-6.0/epics/include/compiler/gcc/compilerSpecific.h \
|
||||
/opt/codac-6.0/epics/include/epicsGuard.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdMutex.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/ellLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/caerr.h \
|
||||
/opt/codac-6.0/epics/include/epicsTypes.h \
|
||||
/opt/codac-6.0/epics/include/db_access.h \
|
||||
/opt/codac-6.0/epics/include/epicsTime.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdTime.h \
|
||||
/opt/codac-6.0/epics/include/errMdef.h \
|
||||
/opt/codac-6.0/epics/include/caeventmask.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryMapInputBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/BrokerI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h
|
||||
../..//Build/x86-linux/DataSources/JAEPICSCA/EPICSCAOutput.o: EPICSCAOutput.cpp EPICSCAOutput.h \
|
||||
/opt/codac-6.0/epics/include/cadef.h \
|
||||
/opt/codac-6.0/epics/include/epicsThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdEvent.h \
|
||||
/opt/codac-6.0/epics/include/epicsMutex.h \
|
||||
/opt/codac-6.0/epics/include/epicsAssert.h \
|
||||
/opt/codac-6.0/epics/include/compilerDependencies.h \
|
||||
/opt/codac-6.0/epics/include/compiler/gcc/compilerSpecific.h \
|
||||
/opt/codac-6.0/epics/include/epicsGuard.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdMutex.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/ellLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/caerr.h \
|
||||
/opt/codac-6.0/epics/include/epicsTypes.h \
|
||||
/opt/codac-6.0/epics/include/db_access.h \
|
||||
/opt/codac-6.0/epics/include/epicsTime.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdTime.h \
|
||||
/opt/codac-6.0/epics/include/errMdef.h \
|
||||
/opt/codac-6.0/epics/include/caeventmask.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
EPICSCAInput.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L5GAMs/MemoryMapAsyncOutputBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/BrokerI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h
|
||||
@@ -0,0 +1,293 @@
|
||||
JAEPICSCAInput.o: JAEPICSCAInput.cpp JAEPICSCAInput.h \
|
||||
/opt/codac-6.0/epics/include/cadef.h \
|
||||
/opt/codac-6.0/epics/include/epicsThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdEvent.h \
|
||||
/opt/codac-6.0/epics/include/epicsMutex.h \
|
||||
/opt/codac-6.0/epics/include/epicsAssert.h \
|
||||
/opt/codac-6.0/epics/include/compilerDependencies.h \
|
||||
/opt/codac-6.0/epics/include/compiler/gcc/compilerSpecific.h \
|
||||
/opt/codac-6.0/epics/include/epicsGuard.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdMutex.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/ellLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/caerr.h \
|
||||
/opt/codac-6.0/epics/include/epicsTypes.h \
|
||||
/opt/codac-6.0/epics/include/db_access.h \
|
||||
/opt/codac-6.0/epics/include/epicsTime.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdTime.h \
|
||||
/opt/codac-6.0/epics/include/errMdef.h \
|
||||
/opt/codac-6.0/epics/include/caeventmask.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryMapInputBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/BrokerI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h
|
||||
EPICSCAOutput.o: EPICSCAOutput.cpp EPICSCAOutput.h \
|
||||
/opt/codac-6.0/epics/include/cadef.h \
|
||||
/opt/codac-6.0/epics/include/epicsThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdEvent.h \
|
||||
/opt/codac-6.0/epics/include/epicsMutex.h \
|
||||
/opt/codac-6.0/epics/include/epicsAssert.h \
|
||||
/opt/codac-6.0/epics/include/compilerDependencies.h \
|
||||
/opt/codac-6.0/epics/include/compiler/gcc/compilerSpecific.h \
|
||||
/opt/codac-6.0/epics/include/epicsGuard.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdMutex.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdThread.h \
|
||||
/opt/codac-6.0/epics/include/shareLib.h \
|
||||
/opt/codac-6.0/epics/include/ellLib.h \
|
||||
/opt/codac-6.0/epics/include/epicsEvent.h \
|
||||
/opt/codac-6.0/epics/include/caerr.h \
|
||||
/opt/codac-6.0/epics/include/epicsTypes.h \
|
||||
/opt/codac-6.0/epics/include/db_access.h \
|
||||
/opt/codac-6.0/epics/include/epicsTime.h \
|
||||
/opt/codac-6.0/epics/include/os/Linux/osdTime.h \
|
||||
/opt/codac-6.0/epics/include/errMdef.h \
|
||||
/opt/codac-6.0/epics/include/caeventmask.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilterT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
EPICSCAInput.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/Scheduler/L5GAMs/MemoryMapAsyncOutputBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/BrokerI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/codac-dev/MARTe2-dev/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h
|
||||
@@ -1,132 +0,0 @@
|
||||
/**
|
||||
* @file JAESDNTimeCompareGAM.cpp
|
||||
* @brief Source file for class JAESDNTimeCompareGAM
|
||||
* @date Nov 26, 2018
|
||||
* @author aneto
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*
|
||||
* @warning Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the Licence is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
* or implied. See the Licence permissions and limitations under the Licence.
|
||||
|
||||
* @details This source file contains the definition of all the methods for
|
||||
* the class JAESDNTimeCompareGAM (public, protected, and private). Be aware that some
|
||||
* methods, such as those inline could be defined on the header file, instead.
|
||||
*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "JAESDNTimeCompareGAM.h"
|
||||
#include "AdvancedErrorManagement.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Static definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
JAESDNTimeCompareGAM::JAESDNTimeCompareGAM() {
|
||||
//ESDNTime holder
|
||||
esdntime_previous = 0;
|
||||
|
||||
//Input signals.
|
||||
esdntime = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
//Output signals.
|
||||
sdn_connection = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
}
|
||||
|
||||
JAESDNTimeCompareGAM::~JAESDNTimeCompareGAM() {
|
||||
if (esdntime != NULL_PTR(MARTe::uint32 *)) {
|
||||
delete[] esdntime;
|
||||
}
|
||||
if (sdn_connection != NULL_PTR(MARTe::uint32 *)) {
|
||||
delete[] sdn_connection;
|
||||
}
|
||||
}
|
||||
|
||||
bool JAESDNTimeCompareGAM::Initialise(MARTe::StructuredDataI & data) {
|
||||
using namespace MARTe;
|
||||
return GAM::Initialise(data);
|
||||
}
|
||||
|
||||
bool JAESDNTimeCompareGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool JAESDNTimeCompareGAM::Setup() {
|
||||
// Setup memory for input/output signals on the GAM.
|
||||
using namespace MARTe;
|
||||
bool ok = (numberOfInputSignals == 1u);
|
||||
// Do type check for input signals.
|
||||
if (ok) {
|
||||
ok = (numberOfOutputSignals == 1u);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(ErrorManagement::ParametersError, "Number of output signals shall be the same as "
|
||||
"number of expected values.");
|
||||
}
|
||||
} else {
|
||||
REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be the same as "
|
||||
"number of expected values.");
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfInputSignals; c++) {
|
||||
TypeDescriptor inputType = GetSignalType(InputSignals, c);
|
||||
ok = (inputType == UnsignedInteger32Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfOutputSignals; c++) {
|
||||
TypeDescriptor outputType = GetSignalType(OutputSignals, c);
|
||||
ok = (outputType == UnsignedInteger32Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
esdntime = reinterpret_cast<uint32 *>(GetInputSignalMemory(0));
|
||||
sdn_connection = reinterpret_cast<uint32 *>(GetOutputSignalMemory(0));
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool JAESDNTimeCompareGAM::Execute() {
|
||||
using namespace MARTe;
|
||||
bool connected;
|
||||
|
||||
connected = !(esdntime_previous == *esdntime);
|
||||
if (connected) *sdn_connection = 1;
|
||||
else *sdn_connection = 0;
|
||||
|
||||
esdntime_previous = *esdntime;
|
||||
return true;
|
||||
}
|
||||
|
||||
CLASS_REGISTER(JAESDNTimeCompareGAM, "1.0")
|
||||
@@ -1,101 +0,0 @@
|
||||
/**
|
||||
* @file JAESDNTimeCompareGAM.h
|
||||
* @brief Header file for class JAESDNTimeCompareGAM
|
||||
* @date Feb, 2021
|
||||
* @author ksakakida
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*
|
||||
* @warning Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the Licence is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
* or implied. See the Licence permissions and limitations under the Licence.
|
||||
|
||||
* @details This header file contains the declaration of the class JAESDNTimeCompareGAM
|
||||
* with all of its public, protected and private members. It may also include
|
||||
* definitions for inline methods which need to be visible to the compiler.
|
||||
*/
|
||||
|
||||
#ifndef GAMS_JAESDNTimeCompareGAM_H_
|
||||
#define GAMS_JAESDNTimeCompareGAM_H_
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "GAM.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Class declaration */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief GAM that sends a message when one-cycle before ESDNTime and current one are same. This GAM is based on JAMessageGAM.
|
||||
* @details Sample
|
||||
*
|
||||
* The configuration syntax is:
|
||||
*
|
||||
* <pre>
|
||||
* +SDNTimeCompareGAM = {
|
||||
* Class = JAESDNTimeCompareGAM
|
||||
* InputSignals = {
|
||||
* ESDNTime = {
|
||||
* DataSource = "DDB1"
|
||||
* Type = uint32
|
||||
* }
|
||||
* }
|
||||
* OutputSignals = {
|
||||
* SDN_Connection = {
|
||||
* DataSource = "DDB1"
|
||||
* Type = uint32
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
|
||||
class JAESDNTimeCompareGAM : public MARTe::GAM, public MARTe::StatefulI {
|
||||
public:
|
||||
CLASS_REGISTER_DECLARATION()
|
||||
|
||||
JAESDNTimeCompareGAM();
|
||||
|
||||
virtual ~JAESDNTimeCompareGAM();
|
||||
|
||||
virtual bool Initialise(MARTe::StructuredDataI & data);
|
||||
|
||||
virtual bool Setup();
|
||||
|
||||
virtual bool Execute();
|
||||
|
||||
virtual bool PrepareNextState(const MARTe::char8 * const currentStateName,
|
||||
const MARTe::char8 * const nextStateName);
|
||||
|
||||
private:
|
||||
// ESDNTime holder
|
||||
MARTe::uint32 esdntime_previous;
|
||||
|
||||
// Input signals
|
||||
MARTe::uint32 *esdntime;
|
||||
|
||||
// Output signals
|
||||
MARTe::uint32 *sdn_connection; // 0: disconnected, 1: connected
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Inline method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#endif /* GAMS_JAESDNTimeCompareGAM_H_ */
|
||||
@@ -1,55 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# Copyright 2015 F4E | European Joint Undertaking for ITER
|
||||
# and the Development of Fusion Energy ('Fusion for Energy')
|
||||
#
|
||||
# Licensed under the EUPL, Version 1.1 or - as soon they
|
||||
# will be approved by the European Commission - subsequent
|
||||
# versions of the EUPL (the "Licence");
|
||||
# You may not use this work except in compliance with the
|
||||
# Licence.
|
||||
# You may obtain a copy of the Licence at:
|
||||
#
|
||||
# http://ec.europa.eu/idabc/eupl
|
||||
#
|
||||
# Unless required by applicable law or agreed to in
|
||||
# writing, software distributed under the Licence is
|
||||
# distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
# express or implied.
|
||||
# See the Licence for the specific language governing
|
||||
# permissions and limitations under the Licence.
|
||||
#
|
||||
# $Id: Makefile.inc 3 2012-01-15 16:26:07Z aneto $
|
||||
#
|
||||
#############################################################
|
||||
OBJSX=JAESDNTimeCompareGAM.x
|
||||
|
||||
PACKAGE=GAMs
|
||||
|
||||
ROOT_DIR=../../
|
||||
MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults
|
||||
include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET)
|
||||
|
||||
INCLUDES += -I.
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L0Types
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L1Portability
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L2Objects
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L3Streams
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L4Messages
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L4Configuration
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/BareMetal/L5GAMs
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/Scheduler/L1Portability
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/Scheduler/L3Services
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/Scheduler/L4Messages
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability
|
||||
INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams
|
||||
|
||||
|
||||
|
||||
all: $(OBJS) $(SUBPROJ) \
|
||||
$(BUILD_DIR)/JAESDNTimeCompareGAM$(LIBEXT) \
|
||||
$(BUILD_DIR)/JAESDNTimeCompareGAM$(DLLEXT)
|
||||
echo $(OBJS)
|
||||
|
||||
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)
|
||||
@@ -120,7 +120,7 @@ bool JAModeControlGAM::Execute() {
|
||||
rfonTime = *inputSignals[9];
|
||||
resetRemainingTime = false;
|
||||
pulseLengthLimit = CalcPulseLengthLimit(inputSignals);
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Pulse Length was set to Limit:%d", pulseLengthLimit);
|
||||
REPORT_ERROR(ErrorManagement::Debug, "Pulse Length was set to Limit:%d", pulseLengthLimit);
|
||||
}
|
||||
// Turn on the flag during RFON if the pulse legth over the limit.
|
||||
if ((*inputSignals[9] - rfonTime <= pulseLengthLimit) && (previousState == 1u)) {
|
||||
|
||||
@@ -0,0 +1,411 @@
|
||||
/**
|
||||
* @file JARTStateMachineGAM.cpp
|
||||
* @brief Source file for class JARTStateMachineGAM
|
||||
* @date Nov 26, 2018
|
||||
* @author aneto
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*
|
||||
* @warning Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the Licence is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
* or implied. See the Licence permissions and limitations under the Licence.
|
||||
|
||||
* @details This source file contains the definition of all the methods for
|
||||
* the class JARTStateMachineGAM (public, protected, and private). Be aware that some
|
||||
* methods, such as those inline could be defined on the header file, instead.
|
||||
*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "JARTStateMachineGAM.h"
|
||||
|
||||
#include "AdvancedErrorManagement.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Static definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static MARTe::uint64 getCurrentTimeUs() {
|
||||
using namespace MARTe;
|
||||
return static_cast<uint64>(HighResolutionTimer::Counter() * HighResolutionTimer::Period() * 1e6f + 0.5f);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
JARTStateMachineGAM::JARTStateMachineGAM() {
|
||||
currentState = WaitTrigger; // Set Entry state.
|
||||
plcOnTime = 0; // Triggered time holder.
|
||||
|
||||
//Output and condition in a given state.
|
||||
conditionTrigger = 1;
|
||||
aps_hvon = 0;
|
||||
aps_swon = 0;
|
||||
bps_hvon = 0;
|
||||
bps_swon = 0;
|
||||
mhvps_hvon = 0;
|
||||
|
||||
// Parameters which get from Input signals.
|
||||
triggerSignal = NULL_PTR(MARTe::uint32 *);
|
||||
currentTime = NULL_PTR(MARTe::uint32 *);
|
||||
turn_off_delay = 2000; //us
|
||||
|
||||
triggerDelay_mhvps_hvon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_aps_hvon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_aps_swon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_bps_hvon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_bps_swon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_shotlen = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
stopRequest = NULL_PTR(MARTe::uint32 *);
|
||||
modePulseLengthLimit = NULL_PTR(MARTe::uint32 *);
|
||||
short_pulse_mode = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
modulation = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
// write out target.
|
||||
outputSignal = NULL_PTR(MARTe::uint32 *);
|
||||
outputBeamON = NULL_PTR(MARTe::uint32 *);
|
||||
outputHVArmed = NULL_PTR(MARTe::uint32 *);
|
||||
outputHVInjection = NULL_PTR(MARTe::uint32 *);
|
||||
outputRFON = NULL_PTR(MARTe::uint32 *);
|
||||
outputBeamONTime = NULL_PTR(MARTe::uint32 *);
|
||||
outputRFONTime = NULL_PTR(MARTe::uint32 *);
|
||||
shotCounter = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
mhvps_hvon_is_on = false;
|
||||
aps_hvon_is_on = false;
|
||||
aps_swon_is_on = false;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
|
||||
apsSwonHighResolutionTime = 0;
|
||||
|
||||
aps_hvon_state=0;
|
||||
aps_swon_state=0;
|
||||
mhvps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
|
||||
JARTStateMachineGAM::~JARTStateMachineGAM() {
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::Initialise(MARTe::StructuredDataI & data) {
|
||||
using namespace MARTe;
|
||||
bool ok = GAM::Initialise(data);
|
||||
if (ok) {
|
||||
ok = data.Read("ConditionTrigger", conditionTrigger);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Condition1 shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("mhvps_hvon", mhvps_hvon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("aps_hvon", aps_hvon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("aps_swon", aps_swon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("bps_hvon", bps_hvon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("bps_swon", bps_swon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon shall be specified");
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::Setup() {
|
||||
using namespace MARTe;
|
||||
bool ok = (numberOfInputSignals == 12u);
|
||||
if (ok) {
|
||||
ok = (numberOfOutputSignals == 16u);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined %d",numberOfOutputSignals);
|
||||
}
|
||||
}
|
||||
else {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Nine input signals shall be defined");
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfInputSignals; c++) {
|
||||
TypeDescriptor inputType = GetSignalType(InputSignals, c);
|
||||
ok = (inputType == UnsignedInteger32Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfOutputSignals; c++) {
|
||||
TypeDescriptor outputType = GetSignalType(OutputSignals, c);
|
||||
ok = (outputType == UnsignedInteger32Bit || outputType == UnsignedInteger8Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
currentTime = reinterpret_cast<uint32 *>(GetInputSignalMemory(0));
|
||||
triggerSignal = reinterpret_cast<uint32 *>(GetInputSignalMemory(1));
|
||||
triggerDelay_mhvps_hvon = reinterpret_cast<uint32 *>(GetInputSignalMemory(2));
|
||||
triggerDelay_aps_hvon = reinterpret_cast<uint32 *>(GetInputSignalMemory(3));
|
||||
triggerDelay_aps_swon = reinterpret_cast<uint32 *>(GetInputSignalMemory(4));
|
||||
triggerDelay_bps_hvon = reinterpret_cast<uint32 *>(GetInputSignalMemory(5));
|
||||
triggerDelay_bps_swon = reinterpret_cast<uint32 *>(GetInputSignalMemory(6));
|
||||
triggerDelay_shotlen = reinterpret_cast<uint32 *>(GetInputSignalMemory(7));
|
||||
stopRequest = reinterpret_cast<uint32 *>(GetInputSignalMemory(8));
|
||||
modePulseLengthLimit = reinterpret_cast<uint32 *>(GetInputSignalMemory(9));
|
||||
short_pulse_mode = reinterpret_cast<uint32 *>(GetInputSignalMemory(10));
|
||||
modulation = reinterpret_cast<uint32 *>(GetInputSignalMemory(11));
|
||||
|
||||
|
||||
outputSignal = reinterpret_cast<uint32 *>(GetOutputSignalMemory(0));
|
||||
outputBeamON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(1));
|
||||
outputHVArmed = reinterpret_cast<uint32 *>(GetOutputSignalMemory(2));
|
||||
outputHVInjection = reinterpret_cast<uint32 *>(GetOutputSignalMemory(3));
|
||||
outputRFON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(4));
|
||||
outputBeamONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(5));
|
||||
outputRFONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(6));
|
||||
shotCounter = reinterpret_cast<uint32 *>(GetOutputSignalMemory(7));
|
||||
|
||||
outputAPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(8));
|
||||
outputAPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(9));
|
||||
outputBPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(10));
|
||||
outputBPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(11));
|
||||
outputMHVPSON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(12));
|
||||
|
||||
outputSignalNI6259 = reinterpret_cast<uint32 *>(GetOutputSignalMemory(13));
|
||||
outputSignalNI6528P3 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(14));
|
||||
outputSignalNI6528P4 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(15));
|
||||
|
||||
*shotCounter = 0;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::Execute() {
|
||||
using namespace MARTe;
|
||||
|
||||
if (currentState == WaitTrigger) {
|
||||
|
||||
//State Transition condition
|
||||
if ((*triggerSignal == conditionTrigger)) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence at %d.", *currentTime);
|
||||
plcOnTime = *currentTime; //Save pulse start time.
|
||||
//*outputBeamON = 0;
|
||||
//State transition.
|
||||
currentState = SwitchingHVPS;
|
||||
}
|
||||
}
|
||||
else if (currentState == SwitchingHVPS) {
|
||||
|
||||
//Actions in this state.
|
||||
if (*stopRequest != 0 || *triggerSignal != conditionTrigger) {
|
||||
*outputSignal = 0;
|
||||
currentState = HVTerminate;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_bps_hvon) && bps_hvon_is_on == false){
|
||||
//Do action
|
||||
*outputSignal += bps_hvon;
|
||||
bps_hvon_is_on = true; bps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSHVON=1;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_aps_hvon) && aps_hvon_is_on == false) {
|
||||
//Do action
|
||||
*outputSignal += aps_hvon;
|
||||
aps_hvon_is_on = true; aps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputAPSHVON=1;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){
|
||||
//Do action
|
||||
*outputSignal += bps_swon;
|
||||
bps_swon_is_on = true; bps_swon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSSWON=1;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_mhvps_hvon) && mhvps_hvon_is_on==false) {
|
||||
//Do action
|
||||
*outputSignal += mhvps_hvon;
|
||||
mhvps_hvon_is_on = true; mhvps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "mhvps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputMHVPSON=1;
|
||||
}
|
||||
if (bps_swon_is_on && mhvps_hvon_is_on && *currentTime >= (plcOnTime + *triggerDelay_aps_swon)){
|
||||
//Do action
|
||||
*outputSignal += aps_swon;
|
||||
aps_swon_is_on = true; aps_swon_state=1;
|
||||
apsSwonHighResolutionTime = getCurrentTimeUs();
|
||||
apsSwonTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputAPSSWON=1;
|
||||
}
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
if (bps_hvon_is_on && aps_hvon_is_on){
|
||||
*outputHVArmed = 1;
|
||||
}
|
||||
if (bps_swon_is_on || mhvps_hvon_is_on){
|
||||
*outputHVInjection = 1;
|
||||
}
|
||||
|
||||
//State transition condition
|
||||
if (aps_swon_is_on){
|
||||
currentState = RFON;
|
||||
*outputRFON = 0;
|
||||
*outputBeamON = 1;
|
||||
*shotCounter += 1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON");
|
||||
}
|
||||
}
|
||||
else if (currentState == RFON) {
|
||||
|
||||
//Action in this state.
|
||||
if (*stopRequest != 0 || *triggerSignal != conditionTrigger) {
|
||||
//debug
|
||||
//if((*stopRequest != 0)){
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Stop request was called.!!!");
|
||||
//} else {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "PLC_ON was reset.!!!");
|
||||
//}
|
||||
*outputSignal -= aps_swon;
|
||||
mhvps_hvon_is_on = false; mhvps_hvon_state=0;
|
||||
aps_hvon_is_on = false; aps_hvon_state=0;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
bps_hvon_is_on = false; bps_hvon_state=0;
|
||||
bps_swon_is_on = false; bps_swon_state=0;
|
||||
currentState = HVTerminate;
|
||||
*outputAPSHVON=0;
|
||||
*outputAPSSWON=0;
|
||||
*outputBPSHVON=0;
|
||||
*outputBPSSWON=0;
|
||||
*outputMHVPSON=0;
|
||||
}
|
||||
uint32 updatePeriod = 100; // in microsecnds (get this from Timer)
|
||||
if ((*modePulseLengthLimit == 1u) || (getCurrentTimeUs() + updatePeriod >= (apsSwonHighResolutionTime + *triggerDelay_shotlen))) {
|
||||
|
||||
// Now we do busy wait
|
||||
while (getCurrentTimeUs() < (apsSwonHighResolutionTime + *triggerDelay_shotlen)) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "!");
|
||||
}
|
||||
// We stop busy waiting #executionOverhead before expected pulse off time
|
||||
//debug
|
||||
//if((*modePulseLengthLimit == 1u)){
|
||||
// REPORT_ERROR(ErrorManagement::Debug, "Mode limit detected.!!!");
|
||||
//} else {
|
||||
// REPORT_ERROR(ErrorManagement::Debug, "Shot length reached to the setpoint.!!!");
|
||||
//}
|
||||
//debug end.
|
||||
//Do action
|
||||
*outputSignal -= aps_swon; //Turn off only APS_SWON first.
|
||||
mhvps_hvon_is_on = false;
|
||||
aps_hvon_is_on = false;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
*outputAPSHVON=0;
|
||||
*outputAPSSWON=0;
|
||||
*outputBPSHVON=0;
|
||||
*outputBPSSWON=0;
|
||||
*outputMHVPSON=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
*outputRFON = 1;
|
||||
*outputBeamONTime = *currentTime - plcOnTime;
|
||||
*outputRFONTime = *currentTime - apsSwonTime;
|
||||
|
||||
|
||||
//State transition condition
|
||||
if (!aps_swon_is_on && !bps_swon_is_on && !mhvps_hvon_is_on) {
|
||||
currentState = HVTerminate;
|
||||
apsSwoffTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to HVTerminate");
|
||||
}
|
||||
}
|
||||
else if (currentState == HVTerminate) {
|
||||
//In the HVTerminate state, turn APS_SWON off first, and wait 1ms. Finally turn other PS off.
|
||||
//Action in this state.
|
||||
*outputBeamON = 0;
|
||||
*outputHVArmed = 0;
|
||||
*outputHVInjection = 0;
|
||||
*outputRFON = 0;
|
||||
|
||||
// State transition condition.
|
||||
if (*currentTime - apsSwoffTime >= turn_off_delay){
|
||||
*outputSignal = 0;
|
||||
mhvps_hvon_state=0;
|
||||
aps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
if (*triggerSignal == false){
|
||||
//Check PLC_ON is reset
|
||||
currentState = WaitTrigger;
|
||||
*outputSignal = 0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "PLC_ON was reset. The State was changed to WaitTrigger at %d.", *currentTime);
|
||||
}
|
||||
}
|
||||
if(*short_pulse_mode == 1){
|
||||
p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state + 64*(*outputBeamON);
|
||||
*outputSignalNI6259 = 1*aps_swon_state;
|
||||
*outputSignalNI6528P3 = ~p3Value;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "short pulse mode with p3: %d.", p3Value);
|
||||
} else {
|
||||
p3Value = 1*aps_hvon_state +2*aps_swon_state + 8*bps_hvon_state +16*bps_swon_state + 64*(*outputBeamON);
|
||||
*outputSignalNI6528P3 = ~p3Value;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value);
|
||||
}
|
||||
if (modulation) {
|
||||
p4Value = 8*mhvps_hvon_state + 32;
|
||||
}
|
||||
else {
|
||||
p4Value = 8*mhvps_hvon_state;
|
||||
}
|
||||
//*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value);
|
||||
*outputSignalNI6528P4 = ~p4Value;
|
||||
return true;
|
||||
}
|
||||
|
||||
CLASS_REGISTER(JARTStateMachineGAM, "1.0")
|
||||
@@ -0,0 +1,262 @@
|
||||
/**
|
||||
* @file JARTStateMachineGAM.h
|
||||
* @brief Header file for class JARTStateMachineGAM
|
||||
* @date Nov 26, 2018
|
||||
* @author aneto
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*
|
||||
* @warning Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the Licence is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
* or implied. See the Licence permissions and limitations under the Licence.
|
||||
|
||||
* @details This header file contains the declaration of the class JARTStateMachineGAM
|
||||
* with all of its public, protected and private members. It may also include
|
||||
* definitions for inline methods which need to be visible to the compiler.
|
||||
*/
|
||||
|
||||
#ifndef GAMS_JARTSTATEMACHINEGAM_H_
|
||||
#define GAMS_JARTSTATEMACHINEGAM_H_
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "GAM.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Class declaration */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @brief GAM that provides real-time state machine.
|
||||
*
|
||||
* The configuration syntax is (names and signal quantity are only given as an example):
|
||||
* <pre>
|
||||
* +GAMRealTimeStateMachine = {
|
||||
* Class = JARTStateMachineGAM
|
||||
* ConditionTrigger = 1
|
||||
* mhvps_hvon = 4
|
||||
* aps_hvon = 1
|
||||
* aps_swon = 16
|
||||
* bps_hvon = 2
|
||||
* bps_swon = 8
|
||||
* InputSignals = {
|
||||
* Time = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* PLC_ON = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* MHVPS_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* APS_HVON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* APS_SWON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* BPS_HVON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* BPS_SWON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* SHOTLEN = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* StopRequest = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* MODE_SHOTLEN_FLAG = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* }
|
||||
* OutputSignals = {
|
||||
* Value = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* Trigger = 1
|
||||
* }
|
||||
* BEAM_ON_STAT = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* HVARMED = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* HVINJECTION = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* RFON = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* BeamONTime = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* RFONTime = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* SHOT_ID = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
|
||||
class JARTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI {
|
||||
public:
|
||||
CLASS_REGISTER_DECLARATION()
|
||||
|
||||
JARTStateMachineGAM();
|
||||
|
||||
virtual ~JARTStateMachineGAM();
|
||||
|
||||
virtual bool Initialise(MARTe::StructuredDataI & data);
|
||||
|
||||
virtual bool Setup();
|
||||
|
||||
virtual bool Execute();
|
||||
|
||||
virtual bool PrepareNextState(const MARTe::char8 * const currentStateName,
|
||||
const MARTe::char8 * const nextStateName);
|
||||
|
||||
private:
|
||||
//The list of possible states
|
||||
enum JARealTimeState {
|
||||
WaitTrigger = 0,
|
||||
SwitchingHVPS = 1,
|
||||
RFON = 2,
|
||||
HVTerminate = 3
|
||||
};
|
||||
|
||||
//The current rtState
|
||||
JARealTimeState currentState;
|
||||
|
||||
//A given condition
|
||||
MARTe::uint32 conditionTrigger;
|
||||
|
||||
//What to output in a given state and condition
|
||||
MARTe::uint32 mhvps_hvon;
|
||||
MARTe::uint32 aps_hvon;
|
||||
MARTe::uint32 aps_swon;
|
||||
MARTe::uint32 bps_hvon;
|
||||
MARTe::uint32 bps_swon;
|
||||
|
||||
//The trigger signal (PLC_ON)
|
||||
MARTe::uint32 *triggerSignal;
|
||||
|
||||
//Time signal
|
||||
MARTe::uint32 *currentTime;
|
||||
|
||||
// Input signals for trigger delay parameters
|
||||
MARTe::uint32 *triggerDelay_mhvps_hvon;
|
||||
MARTe::uint32 *triggerDelay_aps_hvon;
|
||||
MARTe::uint32 *triggerDelay_aps_swon;
|
||||
MARTe::uint32 *triggerDelay_bps_hvon;
|
||||
MARTe::uint32 *triggerDelay_bps_swon;
|
||||
MARTe::uint32 *triggerDelay_shotlen;
|
||||
|
||||
// Input signal for sequence stop request.
|
||||
MARTe::uint32 *stopRequest;
|
||||
// Input signal for pulse length limit by mode.
|
||||
MARTe::uint32 *modePulseLengthLimit;
|
||||
// Input signal for short pulse mode.
|
||||
MARTe::uint32 *short_pulse_mode;
|
||||
// Input signal for modulation pv.
|
||||
MARTe::uint32 *modulation;
|
||||
|
||||
// Output signal to which the output value will be written.
|
||||
// One state write One signal.
|
||||
MARTe::uint32 *outputSignal;
|
||||
// state notify output
|
||||
MARTe::uint32 *outputBeamON;
|
||||
MARTe::uint32 *outputHVArmed;
|
||||
MARTe::uint32 *outputHVInjection;
|
||||
MARTe::uint32 *outputRFON;
|
||||
// elapsed time notify output;
|
||||
MARTe::uint32 *outputBeamONTime;
|
||||
MARTe::uint32 *outputRFONTime;
|
||||
// shot counter (coutup every RFON time.)
|
||||
MARTe::uint32 *shotCounter;
|
||||
|
||||
// Added for HVPS state (20201117)
|
||||
MARTe::uint32 *outputAPSHVON;
|
||||
MARTe::uint32 *outputAPSSWON;
|
||||
MARTe::uint32 *outputBPSHVON;
|
||||
MARTe::uint32 *outputBPSSWON;
|
||||
MARTe::uint32 *outputMHVPSON;
|
||||
|
||||
// Output signals for NI devices
|
||||
MARTe::uint32 *outputSignalNI6259;
|
||||
MARTe::uint8 *outputSignalNI6528P3;
|
||||
MARTe::uint8 *outputSignalNI6528P4;
|
||||
|
||||
//////////////////////////////
|
||||
//Internal Parameters
|
||||
//////////////////////////////
|
||||
//PLC_ON time holder
|
||||
MARTe::uint32 plcOnTime;
|
||||
//APS_SWON time holder
|
||||
MARTe::uint32 apsSwonTime;
|
||||
MARTe::uint32 apsSwoffTime;
|
||||
MARTe::uint64 apsSwonHighResolutionTime;
|
||||
|
||||
//PS turn off delay
|
||||
MARTe::uint32 turn_off_delay;
|
||||
|
||||
//HVPS state holder
|
||||
bool mhvps_hvon_is_on;
|
||||
bool aps_hvon_is_on;
|
||||
bool aps_swon_is_on;
|
||||
bool bps_hvon_is_on;
|
||||
bool bps_swon_is_on;
|
||||
|
||||
// terminal values
|
||||
MARTe::uint8 p3Value;
|
||||
MARTe::uint8 p4Value;
|
||||
MARTe::uint8 aps_hvon_state;
|
||||
MARTe::uint8 aps_swon_state;
|
||||
MARTe::uint8 mhvps_hvon_state;
|
||||
MARTe::uint8 bps_hvon_state;
|
||||
MARTe::uint8 bps_swon_state;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Inline method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#endif /* GAMS_JARTSTATEMACHINEGAM_H_ */
|
||||
@@ -0,0 +1,402 @@
|
||||
/**
|
||||
* @file JARTStateMachineGAM.cpp
|
||||
* @brief Source file for class JARTStateMachineGAM
|
||||
* @date Nov 26, 2018
|
||||
* @author aneto
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*
|
||||
* @warning Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the Licence is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
* or implied. See the Licence permissions and limitations under the Licence.
|
||||
|
||||
* @details This source file contains the definition of all the methods for
|
||||
* the class JARTStateMachineGAM (public, protected, and private). Be aware that some
|
||||
* methods, such as those inline could be defined on the header file, instead.
|
||||
*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "JARTStateMachineGAM.h"
|
||||
|
||||
#include "AdvancedErrorManagement.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Static definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static MARTe::uint64 getCurrentTimeUs() {
|
||||
using namespace MARTe;
|
||||
return static_cast<uint64>(HighResolutionTimer::Counter() * HighResolutionTimer::Period() * 1e6f + 0.5f);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
JARTStateMachineGAM::JARTStateMachineGAM() {
|
||||
currentState = WaitTrigger; // Set Entry state.
|
||||
plcOnTime = 0; // Triggered time holder.
|
||||
|
||||
//Output and condition in a given state.
|
||||
conditionTrigger = 1;
|
||||
aps_hvon = 0;
|
||||
aps_swon = 0;
|
||||
bps_hvon = 0;
|
||||
bps_swon = 0;
|
||||
mhvps_hvon = 0;
|
||||
|
||||
// Parameters which get from Input signals.
|
||||
triggerSignal = NULL_PTR(MARTe::uint32 *);
|
||||
currentTime = NULL_PTR(MARTe::uint32 *);
|
||||
turn_off_delay = 2000; //us
|
||||
|
||||
triggerDelay_mhvps_hvon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_aps_hvon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_aps_swon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_bps_hvon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_bps_swon = NULL_PTR(MARTe::uint32 *);
|
||||
triggerDelay_shotlen = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
stopRequest = NULL_PTR(MARTe::uint32 *);
|
||||
modePulseLengthLimit = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
// write out target.
|
||||
outputSignal = NULL_PTR(MARTe::uint32 *);
|
||||
outputBeamON = NULL_PTR(MARTe::uint32 *);
|
||||
outputHVArmed = NULL_PTR(MARTe::uint32 *);
|
||||
outputHVInjection = NULL_PTR(MARTe::uint32 *);
|
||||
outputRFON = NULL_PTR(MARTe::uint32 *);
|
||||
outputBeamONTime = NULL_PTR(MARTe::uint32 *);
|
||||
outputRFONTime = NULL_PTR(MARTe::uint32 *);
|
||||
shotCounter = NULL_PTR(MARTe::uint32 *);
|
||||
|
||||
mhvps_hvon_is_on = false;
|
||||
aps_hvon_is_on = false;
|
||||
aps_swon_is_on = false;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
|
||||
apsSwonHighResolutionTime = 0;
|
||||
|
||||
aps_hvon_state=0;
|
||||
aps_swon_state=0;
|
||||
mhvps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
|
||||
JARTStateMachineGAM::~JARTStateMachineGAM() {
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::Initialise(MARTe::StructuredDataI & data) {
|
||||
using namespace MARTe;
|
||||
bool ok = GAM::Initialise(data);
|
||||
if (ok) {
|
||||
ok = data.Read("ConditionTrigger", conditionTrigger);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Condition1 shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("mhvps_hvon", mhvps_hvon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("aps_hvon", aps_hvon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("aps_swon", aps_swon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("bps_hvon", bps_hvon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon shall be specified");
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
ok = data.Read("bps_swon", bps_swon);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon shall be specified");
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::Setup() {
|
||||
using namespace MARTe;
|
||||
bool ok = (numberOfInputSignals == 11u);
|
||||
if (ok) {
|
||||
ok = (numberOfOutputSignals == 16u);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined %d",numberOfOutputSignals);
|
||||
}
|
||||
}
|
||||
else {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Nine input signals shall be defined");
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfInputSignals; c++) {
|
||||
TypeDescriptor inputType = GetSignalType(InputSignals, c);
|
||||
ok = (inputType == UnsignedInteger32Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfOutputSignals; c++) {
|
||||
TypeDescriptor outputType = GetSignalType(OutputSignals, c);
|
||||
ok = (outputType == UnsignedInteger32Bit || outputType == UnsignedInteger8Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
currentTime = reinterpret_cast<uint32 *>(GetInputSignalMemory(0));
|
||||
triggerSignal = reinterpret_cast<uint32 *>(GetInputSignalMemory(1));
|
||||
triggerDelay_mhvps_hvon = reinterpret_cast<uint32 *>(GetInputSignalMemory(2));
|
||||
triggerDelay_aps_hvon = reinterpret_cast<uint32 *>(GetInputSignalMemory(3));
|
||||
triggerDelay_aps_swon = reinterpret_cast<uint32 *>(GetInputSignalMemory(4));
|
||||
triggerDelay_bps_hvon = reinterpret_cast<uint32 *>(GetInputSignalMemory(5));
|
||||
triggerDelay_bps_swon = reinterpret_cast<uint32 *>(GetInputSignalMemory(6));
|
||||
triggerDelay_shotlen = reinterpret_cast<uint32 *>(GetInputSignalMemory(7));
|
||||
stopRequest = reinterpret_cast<uint32 *>(GetInputSignalMemory(8));
|
||||
modePulseLengthLimit = reinterpret_cast<uint32 *>(GetInputSignalMemory(9));
|
||||
short_pulse_mode = reinterpret_cast<uint32 *>(GetInputSignalMemory(10));
|
||||
|
||||
|
||||
outputSignal = reinterpret_cast<uint32 *>(GetOutputSignalMemory(0));
|
||||
outputBeamON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(1));
|
||||
outputHVArmed = reinterpret_cast<uint32 *>(GetOutputSignalMemory(2));
|
||||
outputHVInjection = reinterpret_cast<uint32 *>(GetOutputSignalMemory(3));
|
||||
outputRFON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(4));
|
||||
outputBeamONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(5));
|
||||
outputRFONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(6));
|
||||
shotCounter = reinterpret_cast<uint32 *>(GetOutputSignalMemory(7));
|
||||
|
||||
outputAPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(8));
|
||||
outputAPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(9));
|
||||
outputBPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(10));
|
||||
outputBPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(11));
|
||||
outputMHVPSON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(12));
|
||||
|
||||
outputSignalNI6259 = reinterpret_cast<uint32 *>(GetOutputSignalMemory(13));
|
||||
outputSignalNI6528P3 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(14));
|
||||
outputSignalNI6528P4 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(15));
|
||||
|
||||
*shotCounter = 0;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool JARTStateMachineGAM::Execute() {
|
||||
using namespace MARTe;
|
||||
|
||||
if (currentState == WaitTrigger) {
|
||||
|
||||
//State Transition condition
|
||||
if ((*triggerSignal == conditionTrigger)) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence at %d.", *currentTime);
|
||||
plcOnTime = *currentTime; //Save pulse start time.
|
||||
//*outputBeamON = 0;
|
||||
//State transition.
|
||||
currentState = SwitchingHVPS;
|
||||
}
|
||||
}
|
||||
else if (currentState == SwitchingHVPS) {
|
||||
|
||||
//Actions in this state.
|
||||
if (*stopRequest != 0 || *triggerSignal != conditionTrigger) {
|
||||
*outputSignal = 0;
|
||||
currentState = HVTerminate;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_bps_hvon) && bps_hvon_is_on == false){
|
||||
//Do action
|
||||
*outputSignal += bps_hvon;
|
||||
bps_hvon_is_on = true; bps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSHVON=1;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_aps_hvon) && aps_hvon_is_on == false) {
|
||||
//Do action
|
||||
*outputSignal += aps_hvon;
|
||||
aps_hvon_is_on = true; aps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputAPSHVON=1;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){
|
||||
//Do action
|
||||
*outputSignal += bps_swon;
|
||||
bps_swon_is_on = true; bps_swon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSSWON=1;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_mhvps_hvon) && mhvps_hvon_is_on==false) {
|
||||
//Do action
|
||||
*outputSignal += mhvps_hvon;
|
||||
mhvps_hvon_is_on = true; mhvps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "mhvps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputMHVPSON=1;
|
||||
}
|
||||
if (bps_swon_is_on && mhvps_hvon_is_on && *currentTime >= (plcOnTime + *triggerDelay_aps_swon)){
|
||||
//Do action
|
||||
*outputSignal += aps_swon;
|
||||
aps_swon_is_on = true; aps_swon_state=1;
|
||||
apsSwonHighResolutionTime = getCurrentTimeUs();
|
||||
apsSwonTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputAPSSWON=1;
|
||||
}
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
if (bps_hvon_is_on && aps_hvon_is_on){
|
||||
*outputHVArmed = 1;
|
||||
}
|
||||
if (bps_swon_is_on || mhvps_hvon_is_on){
|
||||
*outputHVInjection = 1;
|
||||
}
|
||||
|
||||
//State transition condition
|
||||
if (aps_swon_is_on){
|
||||
currentState = RFON;
|
||||
*outputRFON = 0;
|
||||
*outputBeamON = 1;
|
||||
*shotCounter += 1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON");
|
||||
}
|
||||
}
|
||||
else if (currentState == RFON) {
|
||||
|
||||
//Action in this state.
|
||||
if (*stopRequest != 0 || *triggerSignal != conditionTrigger) {
|
||||
//debug
|
||||
//if((*stopRequest != 0)){
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Stop request was called.!!!");
|
||||
//} else {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "PLC_ON was reset.!!!");
|
||||
//}
|
||||
*outputSignal -= aps_swon;
|
||||
mhvps_hvon_is_on = false; mhvps_hvon_state=0;
|
||||
aps_hvon_is_on = false; aps_hvon_state=0;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
bps_hvon_is_on = false; bps_hvon_state=0;
|
||||
bps_swon_is_on = false; bps_swon_state=0;
|
||||
currentState = HVTerminate;
|
||||
*outputAPSHVON=0;
|
||||
*outputAPSSWON=0;
|
||||
*outputBPSHVON=0;
|
||||
*outputBPSSWON=0;
|
||||
*outputMHVPSON=0;
|
||||
}
|
||||
uint32 updatePeriod = 100; // in microsecnds (get this from Timer)
|
||||
if ((*modePulseLengthLimit == 1u) || (getCurrentTimeUs() + updatePeriod >= (apsSwonHighResolutionTime + *triggerDelay_shotlen))) {
|
||||
|
||||
// Now we do busy wait
|
||||
while (getCurrentTimeUs() < (apsSwonHighResolutionTime + *triggerDelay_shotlen)) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "!");
|
||||
}
|
||||
// We stop busy waiting #executionOverhead before expected pulse off time
|
||||
//debug
|
||||
//if((*modePulseLengthLimit == 1u)){
|
||||
// REPORT_ERROR(ErrorManagement::Debug, "Mode limit detected.!!!");
|
||||
//} else {
|
||||
// REPORT_ERROR(ErrorManagement::Debug, "Shot length reached to the setpoint.!!!");
|
||||
//}
|
||||
//debug end.
|
||||
//Do action
|
||||
*outputSignal -= aps_swon; //Turn off only APS_SWON first.
|
||||
mhvps_hvon_is_on = false;
|
||||
aps_hvon_is_on = false;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
*outputAPSHVON=0;
|
||||
*outputAPSSWON=0;
|
||||
*outputBPSHVON=0;
|
||||
*outputBPSSWON=0;
|
||||
*outputMHVPSON=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
*outputRFON = 1;
|
||||
*outputBeamONTime = *currentTime - plcOnTime;
|
||||
*outputRFONTime = *currentTime - apsSwonTime;
|
||||
|
||||
|
||||
//State transition condition
|
||||
if (!aps_swon_is_on && !bps_swon_is_on && !mhvps_hvon_is_on) {
|
||||
currentState = HVTerminate;
|
||||
apsSwoffTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to HVTerminate");
|
||||
}
|
||||
}
|
||||
else if (currentState == HVTerminate) {
|
||||
//In the HVTerminate state, turn APS_SWON off first, and wait 1ms. Finally turn other PS off.
|
||||
//Action in this state.
|
||||
*outputBeamON = 0;
|
||||
*outputHVArmed = 0;
|
||||
*outputHVInjection = 0;
|
||||
*outputRFON = 0;
|
||||
|
||||
// State transition condition.
|
||||
if (*currentTime - apsSwoffTime >= turn_off_delay){
|
||||
*outputSignal = 0;
|
||||
mhvps_hvon_state=0;
|
||||
aps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
if (*triggerSignal == false){
|
||||
//Check PLC_ON is reset
|
||||
currentState = WaitTrigger;
|
||||
*outputSignal = 0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "PLC_ON was reset. The State was changed to WaitTrigger at %d.", *currentTime);
|
||||
}
|
||||
}
|
||||
if(*short_pulse_mode == 1){
|
||||
p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state + 64*(*outputBeamON);
|
||||
*outputSignalNI6259 = 1*aps_swon_state;
|
||||
*outputSignalNI6528P3 = ~p3Value;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "short pulse mode with p3: %d.", p3Value);
|
||||
} else {
|
||||
p3Value = 1*aps_hvon_state +2*aps_swon_state + 8*bps_hvon_state +16*bps_swon_state + 64*(*outputBeamON);
|
||||
*outputSignalNI6528P3 = ~p3Value;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value);
|
||||
}
|
||||
p4Value = 8*mhvps_hvon_state;
|
||||
//*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value);
|
||||
*outputSignalNI6528P4 = ~p4Value;
|
||||
return true;
|
||||
}
|
||||
|
||||
CLASS_REGISTER(JARTStateMachineGAM, "1.0")
|
||||
@@ -0,0 +1,260 @@
|
||||
/**
|
||||
* @file JARTStateMachineGAM.h
|
||||
* @brief Header file for class JARTStateMachineGAM
|
||||
* @date Nov 26, 2018
|
||||
* @author aneto
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*
|
||||
* @warning Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the Licence is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
* or implied. See the Licence permissions and limitations under the Licence.
|
||||
|
||||
* @details This header file contains the declaration of the class JARTStateMachineGAM
|
||||
* with all of its public, protected and private members. It may also include
|
||||
* definitions for inline methods which need to be visible to the compiler.
|
||||
*/
|
||||
|
||||
#ifndef GAMS_JARTSTATEMACHINEGAM_H_
|
||||
#define GAMS_JARTSTATEMACHINEGAM_H_
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "GAM.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Class declaration */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @brief GAM that provides real-time state machine.
|
||||
*
|
||||
* The configuration syntax is (names and signal quantity are only given as an example):
|
||||
* <pre>
|
||||
* +GAMRealTimeStateMachine = {
|
||||
* Class = JARTStateMachineGAM
|
||||
* ConditionTrigger = 1
|
||||
* mhvps_hvon = 4
|
||||
* aps_hvon = 1
|
||||
* aps_swon = 16
|
||||
* bps_hvon = 2
|
||||
* bps_swon = 8
|
||||
* InputSignals = {
|
||||
* Time = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* PLC_ON = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* MHVPS_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* APS_HVON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* APS_SWON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* BPS_HVON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* BPS_SWON_DT = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* SHOTLEN = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* StopRequest = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* MODE_SHOTLEN_FLAG = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* }
|
||||
* OutputSignals = {
|
||||
* Value = {
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* Trigger = 1
|
||||
* }
|
||||
* BEAM_ON_STAT = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* HVARMED = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* HVINJECTION = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* RFON = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* BeamONTime = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* RFONTime = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* SHOT_ID = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint32
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
|
||||
class JARTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI {
|
||||
public:
|
||||
CLASS_REGISTER_DECLARATION()
|
||||
|
||||
JARTStateMachineGAM();
|
||||
|
||||
virtual ~JARTStateMachineGAM();
|
||||
|
||||
virtual bool Initialise(MARTe::StructuredDataI & data);
|
||||
|
||||
virtual bool Setup();
|
||||
|
||||
virtual bool Execute();
|
||||
|
||||
virtual bool PrepareNextState(const MARTe::char8 * const currentStateName,
|
||||
const MARTe::char8 * const nextStateName);
|
||||
|
||||
private:
|
||||
//The list of possible states
|
||||
enum JARealTimeState {
|
||||
WaitTrigger = 0,
|
||||
SwitchingHVPS = 1,
|
||||
RFON = 2,
|
||||
HVTerminate = 3
|
||||
};
|
||||
|
||||
//The current rtState
|
||||
JARealTimeState currentState;
|
||||
|
||||
//A given condition
|
||||
MARTe::uint32 conditionTrigger;
|
||||
|
||||
//What to output in a given state and condition
|
||||
MARTe::uint32 mhvps_hvon;
|
||||
MARTe::uint32 aps_hvon;
|
||||
MARTe::uint32 aps_swon;
|
||||
MARTe::uint32 bps_hvon;
|
||||
MARTe::uint32 bps_swon;
|
||||
|
||||
//The trigger signal (PLC_ON)
|
||||
MARTe::uint32 *triggerSignal;
|
||||
|
||||
//Time signal
|
||||
MARTe::uint32 *currentTime;
|
||||
|
||||
// Input signals for trigger delay parameters
|
||||
MARTe::uint32 *triggerDelay_mhvps_hvon;
|
||||
MARTe::uint32 *triggerDelay_aps_hvon;
|
||||
MARTe::uint32 *triggerDelay_aps_swon;
|
||||
MARTe::uint32 *triggerDelay_bps_hvon;
|
||||
MARTe::uint32 *triggerDelay_bps_swon;
|
||||
MARTe::uint32 *triggerDelay_shotlen;
|
||||
|
||||
// Input signal for sequence stop request.
|
||||
MARTe::uint32 *stopRequest;
|
||||
// Input signal for pulse length limit by mode.
|
||||
MARTe::uint32 *modePulseLengthLimit;
|
||||
// Input signal for short pulse mode.
|
||||
MARTe::uint32 *short_pulse_mode;
|
||||
|
||||
// Output signal to which the output value will be written.
|
||||
// One state write One signal.
|
||||
MARTe::uint32 *outputSignal;
|
||||
// state notify output
|
||||
MARTe::uint32 *outputBeamON;
|
||||
MARTe::uint32 *outputHVArmed;
|
||||
MARTe::uint32 *outputHVInjection;
|
||||
MARTe::uint32 *outputRFON;
|
||||
// elapsed time notify output;
|
||||
MARTe::uint32 *outputBeamONTime;
|
||||
MARTe::uint32 *outputRFONTime;
|
||||
// shot counter (coutup every RFON time.)
|
||||
MARTe::uint32 *shotCounter;
|
||||
|
||||
// Added for HVPS state (20201117)
|
||||
MARTe::uint32 *outputAPSHVON;
|
||||
MARTe::uint32 *outputAPSSWON;
|
||||
MARTe::uint32 *outputBPSHVON;
|
||||
MARTe::uint32 *outputBPSSWON;
|
||||
MARTe::uint32 *outputMHVPSON;
|
||||
|
||||
// Output signals for NI devices
|
||||
MARTe::uint32 *outputSignalNI6259;
|
||||
MARTe::uint8 *outputSignalNI6528P3;
|
||||
MARTe::uint8 *outputSignalNI6528P4;
|
||||
|
||||
//////////////////////////////
|
||||
//Internal Parameters
|
||||
//////////////////////////////
|
||||
//PLC_ON time holder
|
||||
MARTe::uint32 plcOnTime;
|
||||
//APS_SWON time holder
|
||||
MARTe::uint32 apsSwonTime;
|
||||
MARTe::uint32 apsSwoffTime;
|
||||
MARTe::uint64 apsSwonHighResolutionTime;
|
||||
|
||||
//PS turn off delay
|
||||
MARTe::uint32 turn_off_delay;
|
||||
|
||||
//HVPS state holder
|
||||
bool mhvps_hvon_is_on;
|
||||
bool aps_hvon_is_on;
|
||||
bool aps_swon_is_on;
|
||||
bool bps_hvon_is_on;
|
||||
bool bps_swon_is_on;
|
||||
|
||||
// terminal values
|
||||
MARTe::uint8 p3Value;
|
||||
MARTe::uint8 p4Value;
|
||||
MARTe::uint8 aps_hvon_state;
|
||||
MARTe::uint8 aps_swon_state;
|
||||
MARTe::uint8 mhvps_hvon_state;
|
||||
MARTe::uint8 bps_hvon_state;
|
||||
MARTe::uint8 bps_swon_state;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Inline method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#endif /* GAMS_JARTSTATEMACHINEGAM_H_ */
|
||||
@@ -36,10 +36,7 @@
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Static definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static MARTe::uint64 getCurrentTimeUs() {
|
||||
using namespace MARTe;
|
||||
return static_cast<uint64>(HighResolutionTimer::Counter() * HighResolutionTimer::Period() * 1e6f + 0.5f);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
@@ -67,9 +64,7 @@ JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() {
|
||||
triggerDelay_shotlen = NULL_PTR(MARTe::uint32 *);
|
||||
stopRequest = NULL_PTR(MARTe::uint32 *);
|
||||
modePulseLengthLimit = NULL_PTR(MARTe::uint32 *);
|
||||
Command = NULL_PTR(MARTe::uint16 *);
|
||||
Command2 = NULL_PTR(MARTe::uint16 *);
|
||||
sdnStatus = NULL_PTR(MARTe::uint8 *);
|
||||
sdnCommand = NULL_PTR(MARTe::uint16 *);
|
||||
|
||||
// write out target.
|
||||
outputSignal = NULL_PTR(MARTe::uint32 *);
|
||||
@@ -86,17 +81,6 @@ JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() {
|
||||
aps_swon_is_on = false;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
|
||||
sdnCommand = 0;
|
||||
groupFix = 0;
|
||||
|
||||
apsSwonHighResolutionTime = 0;
|
||||
|
||||
aps_hvon_state=0;
|
||||
aps_swon_state=0;
|
||||
mhvps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
|
||||
JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() {
|
||||
@@ -151,21 +135,21 @@ bool JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const current
|
||||
|
||||
bool JASDNRTStateMachineGAM::Setup() {
|
||||
using namespace MARTe;
|
||||
bool ok = (numberOfInputSignals == 13u);
|
||||
bool ok = (numberOfInputSignals == 11u);
|
||||
if (ok) {
|
||||
ok = (numberOfOutputSignals == 15u);
|
||||
ok = (numberOfOutputSignals == 8u);
|
||||
if (!ok) {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "15 output signals shall be defined");
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined");
|
||||
}
|
||||
}
|
||||
else {
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "13 input signals shall be defined");
|
||||
REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Nine input signals shall be defined");
|
||||
}
|
||||
if (ok) {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfInputSignals; c++) {
|
||||
TypeDescriptor inputType = GetSignalType(InputSignals, c);
|
||||
ok = (inputType == UnsignedInteger32Bit || inputType == UnsignedInteger16Bit || inputType == UnsignedInteger8Bit);
|
||||
ok = (inputType == UnsignedInteger32Bit || inputType == UnsignedInteger16Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
@@ -178,7 +162,7 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
uint32 c;
|
||||
for (c = 0u; c < numberOfOutputSignals; c++) {
|
||||
TypeDescriptor outputType = GetSignalType(OutputSignals, c);
|
||||
ok = (outputType == UnsignedInteger32Bit || outputType == UnsignedInteger8Bit);
|
||||
ok = (outputType == UnsignedInteger32Bit);
|
||||
if (!ok) {
|
||||
StreamString signalName;
|
||||
(void) GetSignalName(InputSignals, c, signalName);
|
||||
@@ -197,9 +181,7 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
triggerDelay_shotlen = reinterpret_cast<uint32 *>(GetInputSignalMemory(7));
|
||||
stopRequest = reinterpret_cast<uint32 *>(GetInputSignalMemory(8));
|
||||
modePulseLengthLimit = reinterpret_cast<uint32 *>(GetInputSignalMemory(9));
|
||||
Command = reinterpret_cast<uint16 *>(GetInputSignalMemory(10));
|
||||
Command2 = reinterpret_cast<uint16 *>(GetInputSignalMemory(11));
|
||||
sdnStatus = reinterpret_cast<uint8 *>(GetInputSignalMemory(12));
|
||||
sdnCommand = reinterpret_cast<uint16 *>(GetInputSignalMemory(10));
|
||||
|
||||
outputSignal = reinterpret_cast<uint32 *>(GetOutputSignalMemory(0));
|
||||
outputBeamON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(1));
|
||||
@@ -209,15 +191,6 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
outputBeamONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(5));
|
||||
outputRFONTime = reinterpret_cast<uint32 *>(GetOutputSignalMemory(6));
|
||||
shotCounter = reinterpret_cast<uint32 *>(GetOutputSignalMemory(7));
|
||||
|
||||
outputAPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(8));
|
||||
outputAPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(9));
|
||||
outputBPSHVON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(10));
|
||||
outputBPSSWON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(11));
|
||||
outputMHVPSON = reinterpret_cast<uint32 *>(GetOutputSignalMemory(12));
|
||||
|
||||
outputSignalNI6528P3 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(13));
|
||||
outputSignalNI6528P4 = reinterpret_cast<uint8 *>(GetOutputSignalMemory(14));
|
||||
*shotCounter = 0;
|
||||
}
|
||||
return ok;
|
||||
@@ -225,19 +198,11 @@ bool JASDNRTStateMachineGAM::Setup() {
|
||||
|
||||
bool JASDNRTStateMachineGAM::Execute() {
|
||||
using namespace MARTe;
|
||||
if (!groupFix && (*triggerSignal != false)) {
|
||||
sdnCommand = (1 - *sdnStatus)*(*Command) + (*sdnStatus)*(*Command2);
|
||||
groupFix = 1;
|
||||
sdnStatusFix = *sdnStatus;
|
||||
}
|
||||
else {
|
||||
sdnCommand = (1 - sdnStatusFix)*(*Command) + sdnStatusFix*(*Command2);
|
||||
}
|
||||
if (currentState == WaitTrigger) {
|
||||
|
||||
//State Transition condition
|
||||
if ((*triggerSignal == conditionTrigger)) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode.");
|
||||
REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode.");
|
||||
plcOnTime = *currentTime; //Save pulse start time.
|
||||
*outputBeamON = 0;
|
||||
//State transition.
|
||||
@@ -248,22 +213,20 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
|
||||
//Actions in this state.
|
||||
if (*stopRequest != 0 || *triggerSignal != conditionTrigger) {
|
||||
*outputSignal = 0;
|
||||
*outputSignal -= aps_swon;
|
||||
currentState = HVTerminate;
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_bps_hvon) && bps_hvon_is_on == false){
|
||||
//Do action
|
||||
*outputSignal += bps_hvon;
|
||||
bps_hvon_is_on = true; bps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSHVON=1;
|
||||
bps_hvon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "bps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
if (*currentTime >= (plcOnTime + *triggerDelay_aps_hvon) && aps_hvon_is_on == false) {
|
||||
//Do action
|
||||
*outputSignal += aps_hvon;
|
||||
aps_hvon_is_on = true; aps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal.");
|
||||
*outputAPSHVON=1;
|
||||
aps_hvon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal.");
|
||||
}
|
||||
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
@@ -279,7 +242,7 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
|
||||
// State change conditions
|
||||
if (sdnCommand == 1){
|
||||
if (*sdnCommand == 1){
|
||||
sdnTriggerTime = *currentTime;
|
||||
currentState = SwitchingHVPS_SWON;
|
||||
}
|
||||
@@ -299,80 +262,68 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){
|
||||
//Do action
|
||||
*outputSignal += bps_swon;
|
||||
bps_swon_is_on = true; bps_swon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "bps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputBPSSWON=1;
|
||||
bps_swon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "bps_swon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
if (*currentTime >= (sdnTriggerTime + *triggerDelay_mhvps_hvon) && mhvps_hvon_is_on==false) {
|
||||
//Do action
|
||||
*outputSignal += mhvps_hvon;
|
||||
mhvps_hvon_is_on = true; mhvps_hvon_state=1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "mhvps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
*outputMHVPSON=1;
|
||||
mhvps_hvon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "mhvps_hvon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
if (bps_swon_is_on && mhvps_hvon_is_on && *currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon)){
|
||||
//Do action
|
||||
*outputSignal += aps_swon;
|
||||
aps_swon_is_on = true; aps_swon_state=1;
|
||||
apsSwonHighResolutionTime = getCurrentTimeUs();
|
||||
aps_swon_is_on = true;
|
||||
apsSwonTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "aps_swon was set to outputSignal at %d.", *currentTime);
|
||||
*outputAPSSWON=1;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "aps_swon was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
*outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time.
|
||||
|
||||
if (bps_swon_is_on || mhvps_hvon_is_on){
|
||||
*outputHVInjection = 1;
|
||||
*outputHVInjection = 0;
|
||||
}
|
||||
|
||||
//State transition condition
|
||||
if (aps_swon_is_on){
|
||||
currentState = RFON;
|
||||
*outputRFON = 0;
|
||||
*outputBeamON = 1;
|
||||
*shotCounter += 1;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON");
|
||||
REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON");
|
||||
}
|
||||
}
|
||||
else if (currentState == RFON) {
|
||||
|
||||
//SDN command processing.
|
||||
if (sdnCommand == 4 && aps_swon_is_on) {
|
||||
if (*sdnCommand == 4 && aps_swon_is_on) {
|
||||
*outputSignal -= aps_swon;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4");
|
||||
*outputAPSSWON=0;
|
||||
aps_swon_is_on = false;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4");
|
||||
}
|
||||
if (sdnCommand == 3 && !aps_swon_is_on) {
|
||||
if (*sdnCommand == 3 && !aps_swon_is_on) {
|
||||
*outputSignal += aps_swon;
|
||||
aps_swon_is_on = true; aps_swon_state=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "sdn command was 3");
|
||||
*outputAPSSWON=1;
|
||||
aps_swon_is_on = true;
|
||||
REPORT_ERROR(ErrorManagement::Debug, "sdn command was 3");
|
||||
}
|
||||
|
||||
//Action in this state.
|
||||
if ((sdnCommand == 2) || (*modePulseLengthLimit == 1u) || (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen))) {
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "shotlen: %d", *triggerDelay_shotlen);
|
||||
if (sdnCommand == 2) {
|
||||
//REPORT_ERROR(ErrorManagement::Information, "sdn command was 2");
|
||||
if ((*sdnCommand == 2) || (*modePulseLengthLimit == 1u) || (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen))) {
|
||||
REPORT_ERROR(ErrorManagement::Debug, "shotlen: %d", *triggerDelay_shotlen);
|
||||
if (*sdnCommand == 2) {
|
||||
REPORT_ERROR(ErrorManagement::Information, "sdn command was 2");
|
||||
} else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){
|
||||
//REPORT_ERROR(ErrorManagement::Information, "pulse length reached setpoint.");
|
||||
REPORT_ERROR(ErrorManagement::Information, "pulse length reached setpoint.");
|
||||
}
|
||||
//Do action
|
||||
*outputSignal -= aps_swon; //Turn off only aps_swon
|
||||
mhvps_hvon_is_on = false;
|
||||
aps_hvon_is_on = false;
|
||||
aps_swon_is_on = false; aps_swon_state=0;
|
||||
aps_swon_is_on = false;
|
||||
bps_hvon_is_on = false;
|
||||
bps_swon_is_on = false;
|
||||
*outputAPSHVON=0;
|
||||
*outputAPSSWON=0;
|
||||
*outputBPSHVON=0;
|
||||
*outputBPSSWON=0;
|
||||
*outputMHVPSON=0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime);
|
||||
REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime);
|
||||
}
|
||||
*outputRFON = 1;
|
||||
*outputRFON = 0;
|
||||
*outputBeamONTime = *currentTime - plcOnTime;
|
||||
*outputRFONTime = *currentTime - apsSwonTime;
|
||||
|
||||
@@ -381,37 +332,29 @@ bool JASDNRTStateMachineGAM::Execute() {
|
||||
if (!aps_swon_is_on && !bps_swon_is_on && !mhvps_hvon_is_on) {
|
||||
currentState = HVTerminate;
|
||||
apsSwoffTime = *currentTime;
|
||||
//REPORT_ERROR(ErrorManagement::Information, "state was changed to HVTerminate");
|
||||
REPORT_ERROR(ErrorManagement::Information, "state was changed to HVTerminate");
|
||||
}
|
||||
}
|
||||
else if (currentState == HVTerminate) {
|
||||
|
||||
//Action in this state.
|
||||
*outputBeamON = 0;
|
||||
*outputHVArmed = 0;
|
||||
*outputHVInjection = 0;
|
||||
*outputRFON = 0;
|
||||
*outputBeamON = 1;
|
||||
*outputHVArmed = 1;
|
||||
*outputHVInjection = 1;
|
||||
*outputRFON = 1;
|
||||
|
||||
// State transition condition.
|
||||
if (*currentTime - apsSwoffTime >= turn_off_delay){
|
||||
*outputSignal = 0;
|
||||
mhvps_hvon_state=0;
|
||||
aps_hvon_state=0;
|
||||
bps_hvon_state=0;
|
||||
bps_swon_state=0;
|
||||
}
|
||||
if (*triggerSignal == false){
|
||||
//Check PLC_ON is reset
|
||||
currentState = WaitTrigger;
|
||||
*outputSignal = 0;
|
||||
groupFix = 0;
|
||||
//REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger");
|
||||
REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger");
|
||||
}
|
||||
}
|
||||
p3Value = 1*aps_hvon_state +2*aps_swon_state + 8*bps_hvon_state +16*bps_swon_state + 64*(*outputBeamON);
|
||||
*outputSignalNI6528P3 = ~p3Value;
|
||||
p4Value = 8*mhvps_hvon_state;
|
||||
*outputSignalNI6528P4 = ~p4Value;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -92,18 +92,10 @@
|
||||
* DataSource = DDB1
|
||||
* Type = uint32
|
||||
* }
|
||||
* Command = {//from packet x
|
||||
* Command = {
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint16
|
||||
* }
|
||||
* Command2 = {//from packet y
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint16
|
||||
* }
|
||||
* ESDNStatus = {// 0 or 1. If 0, packet x is used, elif 1, packet y is used.
|
||||
* DataSource = RealTimeThreadAsyncBridge
|
||||
* Type = uint8
|
||||
* }
|
||||
* }
|
||||
* OutputSignals = {
|
||||
* Value = {
|
||||
@@ -207,12 +199,8 @@ private:
|
||||
MARTe::uint32 *stopRequest;
|
||||
// Input signal for pulse length limit by mode.
|
||||
MARTe::uint32 *modePulseLengthLimit;
|
||||
// Input signal for SDN commands from packet x.
|
||||
MARTe::uint16 *Command;
|
||||
// Input signal for SDN commands from packet y.
|
||||
MARTe::uint16 *Command2;
|
||||
// Input signal for SDN status.
|
||||
MARTe::uint8 *sdnStatus;
|
||||
// Input signal for SDN commands.
|
||||
MARTe::uint16 *sdnCommand;
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
// Output signal to which the output value will be written.
|
||||
@@ -229,17 +217,6 @@ private:
|
||||
MARTe::uint32 *outputRFONTime;
|
||||
// shot counter (coutup every RFON time.)
|
||||
MARTe::uint32 *shotCounter;
|
||||
|
||||
// Added for HVPS state (20210602)
|
||||
MARTe::uint32 *outputAPSHVON;
|
||||
MARTe::uint32 *outputAPSSWON;
|
||||
MARTe::uint32 *outputBPSHVON;
|
||||
MARTe::uint32 *outputBPSSWON;
|
||||
MARTe::uint32 *outputMHVPSON;
|
||||
|
||||
// Output signals for NI devices
|
||||
MARTe::uint8 *outputSignalNI6528P3;
|
||||
MARTe::uint8 *outputSignalNI6528P4;
|
||||
|
||||
//////////////////////////////
|
||||
//Internal Parameters
|
||||
@@ -249,7 +226,6 @@ private:
|
||||
//APS_SWON time holder
|
||||
MARTe::uint32 apsSwonTime;
|
||||
MARTe::uint32 apsSwoffTime;
|
||||
MARTe::uint64 apsSwonHighResolutionTime;
|
||||
|
||||
//PS turn off delay
|
||||
MARTe::uint32 turn_off_delay;
|
||||
@@ -263,22 +239,6 @@ private:
|
||||
bool bps_hvon_is_on;
|
||||
bool bps_swon_is_on;
|
||||
|
||||
//command x or y
|
||||
MARTe::uint16 sdnCommand;
|
||||
//packet group must not be changed during real time operation
|
||||
MARTe::uint16 groupFix; //0: packet group is not fixed yet, 1: fixed.
|
||||
//when packet group is fixed, sdnStatus is copied to this variable.
|
||||
MARTe::uint8 sdnStatusFix;
|
||||
|
||||
// terminal values
|
||||
MARTe::uint8 p3Value;
|
||||
MARTe::uint8 p4Value;
|
||||
MARTe::uint8 aps_hvon_state;
|
||||
MARTe::uint8 aps_swon_state;
|
||||
MARTe::uint8 mhvps_hvon_state;
|
||||
MARTe::uint8 bps_hvon_state;
|
||||
MARTe::uint8 bps_swon_state;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -27,8 +27,7 @@
|
||||
SPB = JAMessageGAM.x JAPreProgrammedGAM.x JAModeControlGAM.x \
|
||||
JAWFRecordGAM.x JATriangleWaveGAM.x JARampupGAM.x \
|
||||
JARTStateMachineGAM.x JASDNRTStateMachineGAM.x JATerminalInterfaceGAM.x \
|
||||
JABitSumGAM.x JAConditionalSignalUpdateGAM.x JASourceChoiseGAM.x JABitReverseGAM.x \
|
||||
JAESDNTimeCompareGAM.x
|
||||
JABitSumGAM.x JAConditionalSignalUpdateGAM.x JASourceChoiseGAM.x JABitReverseGAM.x
|
||||
|
||||
MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults
|
||||
|
||||
|
||||
1
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh
Executable file → Normal file
1
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh
Executable file → Normal file
@@ -123,7 +123,6 @@ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATerminalInterfaceGAM/
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JABitSumGAM/
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JASourceChoiseGAM/
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JABitReverseGAM/
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAESDNTimeCompareGAM/
|
||||
### Add EPICS lib path
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$EPICS_BASE/lib/$EPICS_HOST_ARCH
|
||||
#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/FilterDownsamplingGAM/
|
||||
|
||||
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh
Executable file → Normal file
0
EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh
Executable file → Normal file
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
taskset -c 8-11 ./Main.sh -f ../Configurations/JAGyro_Test.cfg -l RealTimeLoader -m StateMachine:Start
|
||||
|
||||
@@ -60,7 +60,6 @@ while(1):
|
||||
8: SYNC mode operation
|
||||
9: GYA / Async mode --- operator set delay and pulse length on HMI
|
||||
10: GYB / Async mode --- operator set delay and pulse length on HMI
|
||||
11: GYA / Async mode several times --- operator set delay and pulse length on HMI
|
||||
'''
|
||||
inpval = raw_input()
|
||||
|
||||
@@ -84,10 +83,8 @@ while(1):
|
||||
test_async.test_async_GYA_manual()
|
||||
elif inpval == "10":
|
||||
test_async.test_async_GYB_manual()
|
||||
elif inpval == "11":
|
||||
test_async.test_async_GYA_times()
|
||||
else:
|
||||
print 'invalid value. Enter 1 to 11!'
|
||||
print 'invalid value. Enter 1 to 10!'
|
||||
continue
|
||||
|
||||
print '..... End of test code .....'
|
||||
|
||||
@@ -147,7 +147,7 @@ def test_async_shortpulse():
|
||||
res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 800', shell=True) #Should be grater than 1ms.
|
||||
res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 500', shell=True)
|
||||
print '2.Write PERMIT'
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SVAL 1', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM 1', shell=True)
|
||||
@@ -412,43 +412,3 @@ def test_async_GYB_manual():
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 0', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 0', shell=True)
|
||||
print "end of async, non-prepro mode test!"
|
||||
|
||||
def test_async_GYA_times():
|
||||
""""
|
||||
Test GYA operation with Async mode several times.
|
||||
"""
|
||||
print '1.. Set delays and pulse length on HMI\n and set sleep time here:'
|
||||
inp_val = raw_input()
|
||||
try:
|
||||
sleep_time = float(inp_val)
|
||||
except:
|
||||
return
|
||||
print 'How many times is the pulse generated?'
|
||||
times = raw_input()
|
||||
for i in range(1, int(times) + 1):
|
||||
# turn on permit
|
||||
print '2.. set PulseLengthLimitMode to 1 flag'
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 1', shell = True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 1000000', shell = True)
|
||||
time.sleep(1)
|
||||
print '3. Write PERMIT'
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SVAL 1', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM 1', shell=True)
|
||||
time.sleep(1)
|
||||
# trun on HVON trigger
|
||||
print '4. Write HVON'
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SVAL 1', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R 1', shell=True) #HVON signal from PLC
|
||||
time.sleep(sleep_time)
|
||||
print '5. Confirm generated pulse'
|
||||
print '6. Reset HVON'
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SVAL 0', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R 0', shell=True)
|
||||
time.sleep(1)
|
||||
print '7. Reset PERMIT'
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SVAL 0', shell=True)
|
||||
res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM 0', shell=True)
|
||||
print '%d times beam-on complete' % i
|
||||
res = subprocess.call('caget EC-GN-P01-GAF:STAT-BEAMON-TIME >> BEAMON-TIME.log', shell=True)
|
||||
print "end of async, non-prepro mode test!"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1449
EC-GN-JA-PCF-IN/src/main/resources/qst_diff.log
Normal file
1449
EC-GN-JA-PCF-IN/src/main/resources/qst_diff.log
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,12 +4,24 @@
|
||||
PROJ=EC-GN-P01-PCF
|
||||
CFG=$1
|
||||
|
||||
SRC=${CODAC_CONF}/${PROJ}/${CFG}
|
||||
SRC=${CODAC_CONF}/${PROJ}
|
||||
FOLDER=${CODAC_VAR}/${PROJ}
|
||||
if [[ ! -d ${FOLDER} ]]; then
|
||||
mkdir -p ${FOLDER}
|
||||
fi
|
||||
|
||||
/bin/cp -f ${SRC} ${FOLDER}
|
||||
/bin/cp -rf ${SRC}/* ${FOLDER}
|
||||
|
||||
${MARTe2_DIR}/Bin/MARTeApp.ex -f ${FOLDER}/${CFG} -l RealTimeLoader -m StateMachine:Start
|
||||
cd ${FOLDER}
|
||||
make -f Makefile.cfg clean
|
||||
make -f Makefile.cfg
|
||||
|
||||
CFG_FILE=${FOLDER}/${CFG}_Gen.cfg
|
||||
#TODO
|
||||
#/bin/sed -i "s/SDN_IFACE/$PON_INTERFACE_NAME/g" ${CFG_FILE}
|
||||
#/bin/sed -i "s/TH1_CPU/$TH1_CPU/g" ${CFG_FILE}
|
||||
#/bin/sed -i "s/TH2_CPU/$TH2_CPU/g" ${CFG_FILE}
|
||||
#/bin/sed -i "s/TH3_CPU/$TH3_CPU/g" ${CFG_FILE}
|
||||
#/bin/sed -i "s/TH4_CPU/$TH4_CPU/g" ${CFG_FILE}
|
||||
|
||||
${MARTe2_DIR}/Bin/MARTeApp.ex -f ${CFG_FILE} -l RealTimeLoader -m StateMachine:Start
|
||||
|
||||
Submodule ec-gn-ja-pcf-sdd-in updated: a2882e7a5c...c45dde8f18
2
pom.xml
2
pom.xml
@@ -23,7 +23,7 @@
|
||||
<groupId>org.iter.codac.units</groupId>
|
||||
<artifactId>EC-GN-JA-PCF</artifactId>
|
||||
<packaging>codac</packaging>
|
||||
<version>1.0.2</version>
|
||||
<version>1.0.3</version>
|
||||
<name>CODAC Core System EC-GN-JA-PCF subsystem</name>
|
||||
<description>CODAC Core System EC-GN-JA-PCF subsystem</description>
|
||||
<url>https://git.iter.org/scm/ec/ec-gn-ja-pcf.git@%(git rev-parse HEAD)</url>
|
||||
|
||||
Reference in New Issue
Block a user