Compare commits
10 Commits
7a1a8da39c
...
PBS52-83-u
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f9de86b71 | ||
|
|
fa5db368cd | ||
|
|
47d7f8c446 | ||
|
|
cb00d24179 | ||
|
|
5ad2d75aa4 | ||
|
|
1e0b797e9e | ||
|
|
b23b75115b | ||
|
|
7a145d3912 | ||
|
|
f07bcafc07 | ||
|
|
d18c98311a |
@@ -292,12 +292,12 @@ bool JAConditionalSignalUpdateGAM::Execute() {
|
||||
if (state) {
|
||||
needsReset = true;
|
||||
MARTe::uint32 i;
|
||||
for (i = 0u; i < numberOfOutputSignals; ++i) {
|
||||
for (i = 0u; i < numberOfOutputSignals; i++) {
|
||||
*outputSignals[i] = outputs[i].value;
|
||||
}
|
||||
} else {
|
||||
MARTe::uint32 i;
|
||||
for (i = 0u; i < numberOfOutputSignals; ++i) {
|
||||
for (i = 0u; i < numberOfOutputSignals; i++) {
|
||||
*outputSignals[i] = outputs[i].defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -310,7 +310,7 @@ bool JAMessageGAM::Execute() {
|
||||
eventDetected = Compare(0, floatIndex, intIndex);
|
||||
for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals);
|
||||
inputPortIndex++) {
|
||||
eventDetected = Compare(inputPortIndex, floatIndex, intIndex);
|
||||
eventDetected &= Compare(inputPortIndex, floatIndex, intIndex);
|
||||
}
|
||||
} else if (operation == Xor) {
|
||||
uint32 eventDetectedUInt32 = Compare(inputPortIndex, floatIndex, intIndex);
|
||||
|
||||
@@ -28,7 +28,7 @@ SPB = JAMessageGAM.x JAPreProgrammedGAM.x JAModeControlGAM.x \
|
||||
JAWFRecordGAM.x JATriangleWaveGAM.x JARampupGAM.x \
|
||||
JARTStateMachineGAM.x JASDNRTStateMachineGAM.x JATerminalInterfaceGAM.x \
|
||||
JABitSumGAM.x JAConditionalSignalUpdateGAM.x JASourceChoiceGAM.x JABitReverseGAM.x \
|
||||
JAESDNTimeCompareGAM.x
|
||||
JAESDNTimeCompareGAM.x ScaleGAM.x
|
||||
|
||||
MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults
|
||||
|
||||
|
||||
27
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/Makefile.gcc
Normal file
27
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/Makefile.gcc
Normal file
@@ -0,0 +1,27 @@
|
||||
#############################################################
|
||||
#
|
||||
# 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
|
||||
53
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/Makefile.inc
Normal file
53
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/Makefile.inc
Normal file
@@ -0,0 +1,53 @@
|
||||
#############################################################
|
||||
#
|
||||
# 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=ScaleGAM.x
|
||||
|
||||
PACKAGE=GAMs
|
||||
|
||||
ROOT_DIR=../../../../obj
|
||||
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
|
||||
|
||||
|
||||
all: $(OBJS) $(SUBPROJ) \
|
||||
$(BUILD_DIR)/ScaleGAM$(LIBEXT) \
|
||||
$(BUILD_DIR)/ScaleGAM$(DLLEXT)
|
||||
echo $(OBJS)
|
||||
|
||||
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)
|
||||
|
||||
127
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/ScaleGAM.cpp
Normal file
127
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/ScaleGAM.cpp
Normal file
@@ -0,0 +1,127 @@
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "AdvancedErrorManagement.h"
|
||||
#include "CompilerTypes.h"
|
||||
#include "DataSourceI.h"
|
||||
#include "ScaleGAM.h"
|
||||
#include "TypeDescriptor.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Static definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
namespace MARTe {} // namespace MARTe
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
namespace MARTe {
|
||||
|
||||
const MARTe::uint32 NUM_OUTPUTS = 1u;
|
||||
const MARTe::uint32 NUM_PARAMS = 0u;
|
||||
|
||||
ScaleGAM::ScaleGAM() : GAM(), MessageI() {
|
||||
factors = NULL_PTR(float32 *);
|
||||
inputs = NULL_PTR(float32 *);
|
||||
outputs = NULL_PTR(float32 *);
|
||||
}
|
||||
|
||||
ScaleGAM::~ScaleGAM() {
|
||||
if (factors != NULL_PTR(float32 *)) {
|
||||
delete[] factors;
|
||||
}
|
||||
}
|
||||
|
||||
bool ScaleGAM::Setup() {
|
||||
bool ok = numberOfInputSignals == numberOfOutputSignals;
|
||||
for (uint32 i = 0; i < numberOfInputSignals && ok; i++) {
|
||||
if (GetSignalType(InputSignals, i) != Float32Bit) {
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"Input %d should be float32", i);
|
||||
ok = false;
|
||||
}
|
||||
if (GetSignalType(OutputSignals, i) != Float32Bit) {
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"Output %d should be float32", i);
|
||||
ok = false;
|
||||
}
|
||||
}
|
||||
inputs = (float32 *)inputSignalsMemory;
|
||||
outputs = (float32 *)outputSignalsMemory;
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool ScaleGAM::Initialise(StructuredDataI &data) {
|
||||
bool ret = GAM::Initialise(data);
|
||||
uint32 nin = 0;
|
||||
if (ret && data.MoveRelative("InputSignals")) {
|
||||
nin = data.GetNumberOfChildren();
|
||||
if (nin == 0) {
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"Number of inputs should > 0");
|
||||
ret = false;
|
||||
} else {
|
||||
factors = new float32[nin];
|
||||
}
|
||||
for (uint32 i = 0; i < nin && ret; i++) {
|
||||
ret = data.MoveToChild(i);
|
||||
if (!ret) {
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"Impossible to move to children %d", i);
|
||||
data.MoveToAncestor(1u);
|
||||
break;
|
||||
}
|
||||
ret = data.Read("Factor", factors[i]);
|
||||
if (!ret) {
|
||||
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"Impossible to move to read `Factor` for signal n %d ", i);
|
||||
data.MoveToAncestor(1u);
|
||||
break;
|
||||
}
|
||||
}
|
||||
ret = data.MoveToAncestor(1u) & ret;
|
||||
} else {
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"No input signals found");
|
||||
ret &= false;
|
||||
}
|
||||
|
||||
if (ret && data.MoveRelative("OutputSignals")) {
|
||||
uint32 nout = data.GetNumberOfChildren();
|
||||
if (nout != nin) {
|
||||
REPORT_ERROR(
|
||||
ErrorManagement::InitialisationError,
|
||||
"Number of Outputs should be exactly equal to number of outputs",
|
||||
NUM_OUTPUTS);
|
||||
ret = false;
|
||||
}
|
||||
ret = data.MoveToAncestor(1u);
|
||||
} else {
|
||||
REPORT_ERROR(ErrorManagement::InitialisationError,
|
||||
"No output signals, exactly %d outputs are needed",
|
||||
NUM_OUTPUTS);
|
||||
ret = false;
|
||||
}
|
||||
REPORT_ERROR(ret ? ErrorManagement::Information
|
||||
: ErrorManagement::InitialisationError,
|
||||
ret ? "%s Initialised" : "%s Failed to initialise", GetName());
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool ScaleGAM::Execute() {
|
||||
for (uint32 i = 0; i < numberOfInputSignals; i++) {
|
||||
outputs[i] = inputs[i] / factors[i];
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
CLASS_REGISTER(ScaleGAM, "1.0")
|
||||
} /* namespace MARTe */
|
||||
71
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/ScaleGAM.h
Normal file
71
EC-GN-JA-PCF-IN/src/main/c++/GAMs/ScaleGAM/ScaleGAM.h
Normal file
@@ -0,0 +1,71 @@
|
||||
|
||||
#ifndef SCALE_GAM_H
|
||||
#define SCALE_GAM_H
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Standard header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Project header includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "Architecture/x86_gcc/CompilerTypes.h"
|
||||
#include "GAM.h"
|
||||
#include "MessageI.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Class declaration */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
namespace MARTe {
|
||||
class ScaleGAM : public GAM, public MessageI {
|
||||
public:
|
||||
CLASS_REGISTER_DECLARATION()
|
||||
|
||||
/**
|
||||
* @brief Constructor. NOOP.
|
||||
*/
|
||||
ScaleGAM();
|
||||
|
||||
/**
|
||||
* @brief Destructor. NOOP.
|
||||
*/
|
||||
virtual ~ScaleGAM();
|
||||
|
||||
/**
|
||||
* @brief Initialises the output signal memory with default values provided
|
||||
* through configuration.
|
||||
* @return true if the pre-conditions are met.
|
||||
* @pre
|
||||
* The pairs of signals have the same byte size.
|
||||
*/
|
||||
virtual bool Setup();
|
||||
|
||||
/**
|
||||
* @see DataSourceI::Initialise
|
||||
* @details Initialise the parameters of the ComparatorGAM
|
||||
* @return true if the pre-conditions are met.
|
||||
* @pre
|
||||
* The number of input signals is even and each pair of signals have the same
|
||||
* type.
|
||||
**/
|
||||
virtual bool Initialise(StructuredDataI &data);
|
||||
|
||||
/**
|
||||
* @brief Execute method. NOOP.
|
||||
* @return true.
|
||||
*/
|
||||
virtual bool Execute();
|
||||
|
||||
private:
|
||||
float32 * inputs;
|
||||
float32 * outputs;
|
||||
float32 * factors;
|
||||
};
|
||||
|
||||
} // namespace MARTe
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Inline method definitions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#endif
|
||||
@@ -36,6 +36,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
HVPSsOffGAM,
|
||||
NI6528_0_WriterGAM,
|
||||
SyncThreadProducerGAM
|
||||
@@ -53,7 +54,7 @@
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
CPUs = @cpus_dan
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
Class = RealTimeThread
|
||||
@@ -61,6 +62,8 @@
|
||||
Functions = {
|
||||
WGTimerGAM,
|
||||
CCPSWaveformGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -101,6 +104,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
HVPSsOffGAM,
|
||||
NI6528_0_WriterGAM,
|
||||
SyncThreadProducerGAM
|
||||
@@ -118,7 +122,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -129,6 +133,8 @@
|
||||
CCPSWaveformGAM,
|
||||
FHPSSetpointGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -170,6 +176,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
HVPSsOffGAM,
|
||||
NI6528_0_WriterGAM,
|
||||
SyncThreadProducerGAM
|
||||
@@ -187,7 +194,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -198,6 +205,8 @@
|
||||
CCPSWaveformGAM,
|
||||
FHPSSetpointGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -221,7 +230,7 @@
|
||||
GoWaitHVON_PREP_GAM,
|
||||
GoWaitHVON_SDN_GAM,
|
||||
GoWaitHVON_SDN_PREP_GAM,
|
||||
GoErrorGAM,
|
||||
GoErrorHVGAM,
|
||||
ChoiceGAM,
|
||||
EPICSThSyncGAM,
|
||||
EPICSOutputGAM
|
||||
@@ -242,6 +251,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
HVPSsOffGAM,
|
||||
NI6528_0_WriterGAM,
|
||||
SyncThreadProducerGAM
|
||||
@@ -259,7 +269,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -270,6 +280,8 @@
|
||||
CCPSWaveformGAM,
|
||||
FHPSSetpointGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -289,7 +301,7 @@
|
||||
PXIErrorGAM,
|
||||
FromWaitHVONToWaitStandby,
|
||||
FromWaitHVONToWaitPermit,
|
||||
GoErrorGAM,
|
||||
GoErrorHVGAM,
|
||||
ChoiceGAM,
|
||||
EPICSThSyncGAM,
|
||||
EPICSOutputGAM
|
||||
@@ -306,6 +318,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
FastEpicsInputGAM,
|
||||
FastStopRequestGAM,
|
||||
ModeLimitGAM,
|
||||
@@ -326,7 +339,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -337,6 +350,8 @@
|
||||
CCPSWaveformGAM,
|
||||
FHPSSetpointGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -355,7 +370,7 @@
|
||||
PXIErrorGAM,
|
||||
FromWaitHVONToWaitStandby,
|
||||
FromWaitHVONToWaitPermit,
|
||||
GoErrorGAM,
|
||||
GoErrorHVGAM,
|
||||
ChoiceGAM,
|
||||
EPICSThSyncGAM,
|
||||
EPICSOutputGAM
|
||||
@@ -376,6 +391,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
FastEpicsInputGAM,
|
||||
FastStopRequestGAM,
|
||||
ModeLimitGAM,
|
||||
@@ -396,7 +412,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -406,6 +422,8 @@
|
||||
WGTimerGAM,
|
||||
CCPSWaveformGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -425,7 +443,7 @@
|
||||
PXIErrorGAM,
|
||||
FromWaitHVONToWaitStandby,
|
||||
FromWaitHVONToWaitPermit,
|
||||
GoErrorGAM,
|
||||
GoErrorHVGAM,
|
||||
ChoiceGAM,
|
||||
EPICSThSyncGAM,
|
||||
EPICSOutputGAM
|
||||
@@ -442,6 +460,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
FastEpicsInputGAM,
|
||||
FastStopRequestGAM,
|
||||
ModeLimitGAM,
|
||||
@@ -458,7 +477,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -468,6 +487,8 @@
|
||||
WGTimerGAM,
|
||||
CCPSWaveformGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -487,7 +508,7 @@
|
||||
PXIErrorGAM,
|
||||
FromWaitHVONToWaitStandby,
|
||||
FromWaitHVONToWaitPermit,
|
||||
GoErrorGAM,
|
||||
GoErrorHVGAM,
|
||||
ChoiceGAM,
|
||||
EPICSThSyncGAM,
|
||||
EPICSOutputGAM
|
||||
@@ -508,6 +529,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
FastEpicsInputGAM,
|
||||
FastStopRequestGAM,
|
||||
ModeLimitGAM,
|
||||
@@ -523,7 +545,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -533,6 +555,8 @@
|
||||
WGTimerGAM,
|
||||
CCPSWaveformGAM,
|
||||
FHPSRampupGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
@@ -572,6 +596,7 @@
|
||||
Functions = {
|
||||
FastTimerGAM,
|
||||
NI6528_0_ReaderGAM,
|
||||
AsyncIOGAM,
|
||||
HVPSsOffGAM,
|
||||
NI6528_0_WriterGAM,
|
||||
SyncThreadProducerGAM
|
||||
@@ -589,7 +614,7 @@
|
||||
}
|
||||
+DANThread = {
|
||||
Class = RealTimeThread
|
||||
Functions = { CurrentTimeDIO, DANDIOPublisherGAM }
|
||||
Functions = { WaitForDioSignals, DANDIOPublisherGAM }
|
||||
CPUs = @cpus_dan
|
||||
}
|
||||
+ReferenceGenerationThread = {
|
||||
@@ -598,6 +623,8 @@
|
||||
Functions = {
|
||||
WGTimerGAM,
|
||||
CCPSWaveformGAM,
|
||||
FHPSStateGAM,
|
||||
FHPSGainGAM,
|
||||
WGProducerGAM
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Class = "EPICSCA::EPICSCAInput"
|
||||
Signals = {
|
||||
TRIGGER_DAN = {
|
||||
PVName = @rfid .. ":DAN_ENABLED"
|
||||
PVName = (@rfid .. ":DAN_ENABLED")
|
||||
Type = uint8
|
||||
}
|
||||
CSV_LOAD = {
|
||||
@@ -49,6 +49,14 @@
|
||||
PVName = (@rfid .. "-GAF-MCPS:PSU2120-TRG-CURR-SET-MI")
|
||||
Type = float32
|
||||
}
|
||||
MCPS_RU_COMPLETED = {
|
||||
PVName = (@rfid .. "-GAF-MCPS:PSU2120-YTS-RUP")
|
||||
Type = uint8
|
||||
}
|
||||
MCPS_RD_COMPLETED = {
|
||||
PVName = (@rfid .. "-GAF-MCPS:PSU2120-YTS-RDOWN")
|
||||
Type = uint8
|
||||
}
|
||||
BPS_MANUAL = {
|
||||
PVName = (@rfid .. "-PB1F:PSU1000-EREF-MSP")
|
||||
Type = float32
|
||||
@@ -203,6 +211,10 @@
|
||||
PVName = (@rfid .. "-GAF:STAT-SHORT-PULSE")
|
||||
Type = uint32
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
PVName = (@rfid .. "-GAF-CCPS:PSU2320-TR")
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAOutput = {
|
||||
|
||||
@@ -473,6 +473,7 @@
|
||||
DI0 = {
|
||||
Type = uint8
|
||||
PortId = 0
|
||||
InversionMask = 0x40
|
||||
}
|
||||
//# P1.0 I.08 ECPC Modulation
|
||||
//# P1.1 I.09 Fast Protection Trip
|
||||
@@ -539,6 +540,26 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//# PXI NI6528 Digital input datasource
|
||||
//# TODO: configure it
|
||||
+NI6528_1_DIO = {
|
||||
Class = NI6528
|
||||
DeviceName = "/dev/pxi6528"
|
||||
BoardId = 0 // TODO: check if not 1
|
||||
Signals = {
|
||||
//# P5.6 O.22 PXI_FLT
|
||||
DO5 = {
|
||||
Type = uint8
|
||||
PortId = 5
|
||||
InversionMask = 0xFF
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//# Direct HW accesses. Follwing device/port assignment must be consistent with actual wiring.
|
||||
//# NI6259.0
|
||||
//# APS_SWON BoardId=0, PortId=3.0
|
||||
|
||||
@@ -121,5 +121,15 @@
|
||||
PCF_FAULT = {
|
||||
Type = uint8
|
||||
}
|
||||
MCPS_RU_COMPLETED = {
|
||||
Type = uint8
|
||||
}
|
||||
|
||||
MCPS_RD_COMPLETED = {
|
||||
Type = uint8
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#package jada_gyro.RTApp
|
||||
|
||||
|
||||
+Data = {
|
||||
+DDB1 = {
|
||||
Signals = {
|
||||
@@ -38,6 +39,31 @@
|
||||
}
|
||||
//# From any state to Error state.
|
||||
+GoErrorGAM = {
|
||||
Class = JAMessageGAM
|
||||
Operation = "OR"
|
||||
InputSignals = {
|
||||
PXI_FAULT = {
|
||||
DataSoruce = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
// PLC_ITL = {
|
||||
// DataSource = DDB1
|
||||
// Type = uint8
|
||||
// Comparator = "EQUALS"
|
||||
// Value = 1
|
||||
// }
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
Destination = StateMachine
|
||||
Function = GoError
|
||||
}
|
||||
}
|
||||
|
||||
//# From any state to Error state.
|
||||
+GoErrorHVGAM = {
|
||||
Class = JAMessageGAM
|
||||
Operation = "OR"
|
||||
InputSignals = {
|
||||
@@ -71,6 +97,12 @@
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
PXI_FAULT = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
@@ -101,53 +133,23 @@
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
PXI_FAULT = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
Value = 1
|
||||
}
|
||||
// PLC_ITL = {
|
||||
// DataSource = DDB1
|
||||
// Type = uint8
|
||||
// Comparator = "EQUALS"
|
||||
// Value = 0
|
||||
// }
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
Destination = StateMachine
|
||||
Function = GoError
|
||||
Function = GoWaitStandby
|
||||
}
|
||||
}
|
||||
//# Go to wait standby
|
||||
@@ -250,6 +252,12 @@
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
@@ -320,6 +328,19 @@
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
|
||||
PLC_ITL = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
@@ -378,6 +399,19 @@
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
|
||||
PLC_ITL = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
@@ -407,6 +441,19 @@
|
||||
Comparator = "EQUALS"
|
||||
Value = 1
|
||||
}
|
||||
MIS_ITL = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
|
||||
PLC_ITL = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
Comparator = "EQUALS"
|
||||
Value = 0
|
||||
}
|
||||
}
|
||||
+Event = {
|
||||
Class = Message
|
||||
|
||||
@@ -500,6 +500,15 @@
|
||||
FHPS_PrePro = {
|
||||
DataSource = DDB1
|
||||
}
|
||||
MCPS_RU_COMPLETED = {
|
||||
DataSource = EPICSCAInput
|
||||
}
|
||||
MCPS_RD_COMPLETED = {
|
||||
DataSource = EPICSCAInput
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
DataSource = EPICSCAInput
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
BPS_OUT = {
|
||||
@@ -517,5 +526,14 @@
|
||||
FHPS_PrePro = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
MCPS_RU_COMPLETED = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
MCPS_RD_COMPLETED = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
Class = RealTimeThreadSynchronisation
|
||||
Timeout = 100
|
||||
Signals = {
|
||||
DiTime = {
|
||||
Type = uint32
|
||||
}
|
||||
PXI6259_Status = {
|
||||
Type = uint32
|
||||
}
|
||||
@@ -146,6 +149,9 @@
|
||||
+SyncThreadProducerGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
PXI6259_Status = {
|
||||
Alias = Status
|
||||
DataSource = NI6259_DIO_P0
|
||||
@@ -251,6 +257,9 @@
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
DiTime = {
|
||||
DataSource = SynchThread
|
||||
}
|
||||
PXI6259_Status = {
|
||||
DataSource = SynchThread
|
||||
}
|
||||
@@ -352,4 +361,35 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+AsyncIOGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
FHPS_RU = {
|
||||
DataSource = WGAsyncBridge
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
MCPS_RU_COMPLETED = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
MCPS_RD_COMPLETED = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
FHPS_RU = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
CCPS_IN_OPERATION = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
SCM_RU = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
SCM_RD = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,11 +162,26 @@
|
||||
CCPS_IN_OPERATION = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
//! implicit: Placeholder for spare output
|
||||
NONE_DO23 = {
|
||||
DataSource = DDB3
|
||||
Type = uint8
|
||||
NumberOfElements = 2
|
||||
NumberOfDimensions = 1
|
||||
Default = { 0, 0 }
|
||||
}
|
||||
NONE_DO5_1_Before = {
|
||||
DataSource = DDB3
|
||||
Type = uint8
|
||||
NumberOfElements = 6
|
||||
NumberOfDimensions = 1
|
||||
Default = { 0, 0, 0, 0, 0, 0 }
|
||||
}
|
||||
PXI_FLT = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
//! implicit: Placeholder for spare output
|
||||
NONE_DO23 = {
|
||||
NONE_DO5_1_After = {
|
||||
DataSource = DDB3
|
||||
Type = uint8
|
||||
Default = 0
|
||||
@@ -182,6 +197,11 @@
|
||||
DO5 = {
|
||||
DataSource = NI6528_0_DIO
|
||||
}
|
||||
DO5_B1 = {
|
||||
Alias = DO5
|
||||
DataSource = NI6528_1_DIO
|
||||
Trigger = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
// //# INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
}
|
||||
+FastAnalogDAN = {
|
||||
Class = "DAN::DANSource"
|
||||
NumberOfBuffers = 10000
|
||||
NumberOfBuffers = 100
|
||||
CPUMask = @cpus_fdan
|
||||
StackSize = 10000000
|
||||
DanBufferMultiplier = 10000 //10s at 1kHz loop (1M with 1k samples)
|
||||
|
||||
@@ -6,14 +6,161 @@
|
||||
Class = GAMDataSource
|
||||
AllowNoProducers = 1
|
||||
Signals = {
|
||||
CurrTime = {
|
||||
Type = uint64
|
||||
DiTime = {
|
||||
Type = uint32
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PXI6528_Status = {
|
||||
Type = uint32
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_APS_READY = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_BPS_READY = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
MHVPS_OV = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
MHVPS_OC = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
MHVPS_READY = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
ECPC_MOD = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
FAST_TRIP = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
CRIO_RV1 = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
CRIO_RV2 = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
CRIO_RV3 = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_ITL = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_STANDBY = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_READY = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_ON = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_PERMIT = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_OP_SELECTED = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_CC_OP_SELECTED = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
PLC_SYNCMODE = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
TRIGGER = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
HVARMED = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
HVINJECTION = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
RFON = {
|
||||
Type = uint8
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
BEAM_ON_TIME = {
|
||||
Type = uint32
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
RFON_TIME = {
|
||||
Type = uint32
|
||||
NumberOfElements = @dan_ratio
|
||||
NumberOfDimensions = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
+DANDIODataSource = {
|
||||
Class = "DAN::DANSource"
|
||||
NumberOfBuffers = 1000
|
||||
NumberOfBuffers = 100
|
||||
CPUMask = @cpus_dio
|
||||
StackSize = 10000000
|
||||
DanBufferMultiplier = 200 //10s at 20Hz
|
||||
@@ -23,10 +170,9 @@
|
||||
NumberOfPostTriggers = 0
|
||||
Signals = {
|
||||
DI_Time = {
|
||||
Type = uint64
|
||||
Type = uint32
|
||||
TimeSignal = 1
|
||||
AbsoluteTime = 1
|
||||
TimeSignalMultiplier = 1e-9
|
||||
AbsoluteTime = 0
|
||||
}
|
||||
PXI6528_Status = {
|
||||
SamplingFrequency = @fast_clock
|
||||
@@ -207,26 +353,17 @@
|
||||
}
|
||||
|
||||
+Functions = {
|
||||
+CurrentTimeDIO = {
|
||||
Class = "IOExt::SystemClockGAM"
|
||||
OutputSignals = {
|
||||
CurrTime = {
|
||||
DataSource = DDB5
|
||||
Type = uint64
|
||||
}
|
||||
}
|
||||
}
|
||||
+DANDIOPublisherGAM = {
|
||||
+WaitForDioSignals = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = DDB5
|
||||
Alias = CurrTime
|
||||
DiTime = {
|
||||
DataSource = SynchThread
|
||||
Samples = @dan_ratio
|
||||
Frequency = 1
|
||||
}
|
||||
PXI6528_Status = {
|
||||
DataSource = SynchThread
|
||||
Samples = @dan_ratio
|
||||
Frequency = 1
|
||||
}
|
||||
GYA_APS_READY = {
|
||||
DataSource = SynchThread
|
||||
@@ -341,6 +478,195 @@
|
||||
Samples = @dan_ratio
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
DiTime = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PXI6528_Status = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_APS_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_BPS_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
ECPC_MOD = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
FAST_TRIP = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
CRIO_RV1 = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
CRIO_RV2 = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
CRIO_RV3 = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_STANDBY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_ON = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_PERMIT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_OP_SELECTED = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_CC_OP_SELECTED = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_SYNCMODE = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
TRIGGER = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
HVARMED = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
HVINJECTION = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
RFON = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
BEAM_ON_TIME = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
RFON_TIME = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+DANDIOPublisherGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
DiTime = {
|
||||
DataSource = DDB5
|
||||
Ranges = {{0, 0}}
|
||||
}
|
||||
PXI6528_Status = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_APS_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_APS_FLT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_BPS_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
GYA_BPS_FLT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_OV = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_OC = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_FLT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
MHVPS_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
ECPC_MOD = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
FAST_TRIP = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
CRIO_RV1 = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
CRIO_RV2 = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
CRIO_RV3 = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_ITL = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_STANDBY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_READY = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_ON = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_PERMIT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_OP_SELECTED = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_CC_OP_SELECTED = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
PLC_SYNCMODE = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
TRIGGER = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
BEAM_ON_STAT = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
HVARMED = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
HVINJECTION = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
RFON = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
BEAM_ON_TIME = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
RFON_TIME = {
|
||||
DataSource = DDB5
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
DI_Time = {
|
||||
DataSource = DANDIODataSource
|
||||
|
||||
@@ -59,6 +59,40 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+FHPSStateGAM = {
|
||||
Class = JAConditionalSignalUpdateGAM
|
||||
Operation = "AND"
|
||||
InputSignals = {
|
||||
FHPS_AUTO_STAT = {
|
||||
DataSource = DDB6
|
||||
Type = uint32
|
||||
Comparator = "EQUALS"
|
||||
Value = 2
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
FHPS_RU = {
|
||||
DataSource = WGAsyncBridge
|
||||
Type = uint8
|
||||
DefaultValue = 0
|
||||
Value = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
+FHPSGainGAM = {
|
||||
Class = ScaleGAM
|
||||
InputSignals = {
|
||||
FHPS_REF = {
|
||||
DataSource = DDB6
|
||||
Factor = 15
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
FHPS_SCALED = {
|
||||
DataSource = DDB6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Data = {
|
||||
+DDB6 = {
|
||||
@@ -66,6 +100,9 @@
|
||||
FHPS_REF = {
|
||||
Type = float32
|
||||
}
|
||||
FHPS_SCALED = {
|
||||
Type = float32
|
||||
}
|
||||
FHPS_TAGV = {
|
||||
Type = float32
|
||||
}
|
||||
|
||||
@@ -15,12 +15,15 @@
|
||||
FHPS_AUTO_STAT = {
|
||||
Type = uint32
|
||||
}
|
||||
FHPS_RU = {
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
+NI6259_AO = {
|
||||
Class = NI6259DAC
|
||||
DeviceName = "/dev/pxi6259" // Mandatory
|
||||
BoardId = 0 // Mandatory
|
||||
BoardId = 1 // Mandatory
|
||||
SamplingFrequency = @wg_clock
|
||||
Signals = {
|
||||
CCPS_REF = {
|
||||
@@ -47,7 +50,7 @@
|
||||
Alias = CCPS_REF
|
||||
DataSource = DDB6
|
||||
}
|
||||
FHPS_REF = {
|
||||
FHPS_SCALED = {
|
||||
DataSource = DDB6
|
||||
}
|
||||
FHPS_REF_OUT = {
|
||||
|
||||
@@ -62,11 +62,14 @@
|
||||
}
|
||||
+DDB3 = {
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
Type = uint32
|
||||
AbsoluteTime = {
|
||||
Type = uint64
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -107,13 +110,16 @@
|
||||
+FastTimerGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = FastTimer
|
||||
}
|
||||
Counter = {
|
||||
DataSource = FastTimer
|
||||
Frequency = @fast_clock
|
||||
}
|
||||
Time = {
|
||||
DataSource = FastTimer
|
||||
}
|
||||
AbsoluteTime = {
|
||||
DataSource = FastTimer
|
||||
}
|
||||
PCF_FAULT = {
|
||||
DataSource = Th1Bridge
|
||||
}
|
||||
@@ -122,10 +128,13 @@
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Counter = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
Time = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
Counter = {
|
||||
AbsoluteTime = {
|
||||
DataSource = DDB3
|
||||
}
|
||||
PCF_FLT = {
|
||||
|
||||
@@ -95,9 +95,9 @@ if [[ ${ok} != "0" ]]; then
|
||||
cat patches/EC-GN-P01-PCF0CORE_userPreDriverConf.patch ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/userPreDriverConf.cmd > userPreDriverConf_patched.cmd
|
||||
mv -f userPreDriverConf_patched.cmd ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/userPreDriverConf.cmd
|
||||
|
||||
# sed -i 's+# Add all the support libraries needed by this IOC+# Add all the support libraries needed by this IOC\n-include $(EPICS_ROOT)/mk/asyn.mk\n-include $(EPICS_ROOT)/mk/picmg.mk\n-include $(EPICS_ROOT)/mk/stream.mk\n-include $(EPICS_ROOT)/mk/nisync-epics.mk\n-include $(EPICS_ROOT)/mk/nisync-generalTime.mk\n-include $(EPICS_ROOT)/mk/nixseries-epics.mk\n-include $(EPICS_ROOT)/mk/pxi6259-epics.mk\n-include $(EPICS_ROOT)/mk/pxi6528-epics.mk+g' EC-GN-JA-PCF/src/main/epics/EC-GN-P01App/src/Makefile
|
||||
sed -i 's+# Add all the support libraries needed by this IOC+# Add all the support libraries needed by this IOC\n-include $(EPICS_ROOT)/mk/asyn.mk\n-include $(EPICS_ROOT)/mk/picmg.mk\n-include $(EPICS_ROOT)/mk/stream.mk+g' EC-GN-JA-PCF/src/main/epics/EC-GN-P01App/src/Makefile
|
||||
|
||||
# sed -i 's+epicsEnvSet("\(.*\)")+epicsEnvSet("\1:${TOP}/iocBoot/iocEC-GN-P01-PCF0CORE")+g' EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/envSystem
|
||||
sed -i 's+epicsEnvSet("\(.*\)")+epicsEnvSet("\1:${TOP}/iocBoot/iocEC-GN-P01-PCF0CORE")+g' EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/envSystem
|
||||
fi
|
||||
|
||||
cid=$((cid+1))
|
||||
|
||||
Reference in New Issue
Block a user