This commit is contained in:
ferrog
2026-02-09 10:59:18 +00:00
parent f47135f20c
commit 2991286fd7
11 changed files with 240 additions and 65 deletions

View File

@@ -146,6 +146,12 @@ of the distribution package..
target="/etc/opt/codac/${project.artifactId}"> target="/etc/opt/codac/${project.artifactId}">
<include>*</include> <include>*</include>
</include> </include>
<include type="file"
source="main/resources/dan/"
targetroot="SYSTEM_ROOT"
target="/etc/opt/codac/${project.artifactId}">
<include>*</include>
</include>
<!-- Scripts --> <!-- Scripts -->
<include type="script" <include type="script"
scriptType="helper" scriptType="helper"

View File

@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
DAN Configuration
Root: danApi
CODAC-VERSION: 5.1b5
WARNING: This is an automatically generated file. PLEASE DO NOT MODIFY.
-->
<danApi>
<version>1.0.0</version>
<ICprogram name="JADA_RF01App">
<source name="FastAnalogDAN_float32">
<itemDanType>danFloat</itemDanType>
<maxTransferRate>100000</maxTransferRate>
<advancedSource>
<dataModel>DM_BLOCK2D_VAR</dataModel>
<streamType>DATA_D0</streamType>
<checkPolicy>NO_CHECK</checkPolicy>
<queueSize>1000</queueSize>
<profMonitoring>1</profMonitoring>
<timeFormat>UTC</timeFormat>
<debug>
<srvChunkHeaderSize>20</srvChunkHeaderSize>
<srvChunkSize>10000</srvChunkSize>
<srvBufferSize>2</srvBufferSize>
</debug>
</advancedSource>
<deviceInfo>
<deviceName>DAQ</deviceName>
<deviceVersion>v1.0</deviceVersion>
<operationalMode>0</operationalMode>
<manufactureCode>0</manufactureCode>
</deviceInfo>
<channelsInfo sequence="SEQUENCIAL">
<channel number="0" variable="EC-GN-P01:GY_APS_V_MEAS" label="EC-GN-P01:GY_APS_V_MEAS" status="ENABLE"></channel>
<channel number="1" variable="EC-GN-P01:GY_APS_I_MEAS" label="EC-GN-P01:GY_APS_I_MEAS" status="ENABLE"></channel>
<channel number="2" variable="EC-GN-P01:GY_BPS_V_MEAS" label="EC-GN-P01:GY_BPS_V_MEAS" status="ENABLE"></channel>
<channel number="3" variable="EC-GN-P01:GY_BPS_I_MEAS" label="EC-GN-P01:GY_BPS_I_MEAS" status="ENABLE"></channel>
<channel number="4" variable="EC-GN-P01:GY_MHV_V_MEAS" label="EC-GN-P01:GY_MHV_V_MEAS" status="ENABLE"></channel>
<channel number="5" variable="EC-GN-P01:GY_MHV_I_MEAS" label="EC-GN-P01:GY_MHV_I_MEAS" status="ENABLE"></channel>
<channel number="6" variable="EC-GN-P01:GY_ARC1_V_MEAS" label="EC-GN-P01:GY_ARC1_V_MEAS" status="ENABLE"></channel>
<channel number="7" variable="EC-GN-P01:GY_ARC2_V_MEAS" label="EC-GN-P01:GY_ARC2_V_MEAS" status="ENABLE"></channel>
<channel number="8" variable="EC-GN-P01:GY_ARC3_V_MEAS" label="EC-GN-P01:GY_ARC3_V_MEAS" status="ENABLE"></channel>
<channel number="9" variable="EC-GN-P01:GY_RF_V_MEAS" label="EC-GN-P01:GY_RF_V_MEAS" status="ENABLE"></channel>
</channelsInfo>
</source>
<source name="DANDIODataSource_uint8">
<itemDanType>danUInt8</itemDanType>
<maxTransferRate>100000</maxTransferRate>
<advancedSource>
<dataModel>DM_BLOCK2D_VAR</dataModel>
<streamType>DATA_D0</streamType>
<checkPolicy>NO_CHECK</checkPolicy>
<queueSize>1000</queueSize>
<profMonitoring>1</profMonitoring>
<timeFormat>UTC</timeFormat>
<debug>
<srvChunkHeaderSize>20</srvChunkHeaderSize>
<srvChunkSize>10000</srvChunkSize>
<srvBufferSize>2</srvBufferSize>
</debug>
</advancedSource>
<deviceInfo>
<deviceName>DAQ</deviceName>
<deviceVersion>v1.0</deviceVersion>
<operationalMode>0</operationalMode>
<manufactureCode>0</manufactureCode>
</deviceInfo>
<channelsInfo sequence="SEQUENCIAL">
<channel number="0" variable="EC-GN-P01:GYA_APS_READY" label="EC-GN-P01:GYA_APS_READY" status="ENABLE"></channel>
<channel number="1" variable="EC-GN-P01:GYA_APS_FLT" label="EC-GN-P01:GYA_APS_FLT" status="ENABLE"></channel>
<channel number="2" variable="EC-GN-P01:GYA_BPS_READY" label="EC-GN-P01:GYA_BPS_READY" status="ENABLE"></channel>
<channel number="3" variable="EC-GN-P01:GYA_BPS_FLT" label="EC-GN-P01:GYA_BPS_FLT" status="ENABLE"></channel>
<channel number="4" variable="EC-GN-P01:MHVPS_OV" label="EC-GN-P01:MHVPS_OV" status="ENABLE"></channel>
<channel number="5" variable="EC-GN-P01:MHVPS_OC" label="EC-GN-P01:MHVPS_OC" status="ENABLE"></channel>
<channel number="6" variable="EC-GN-P01:MHVPS_FLT" label="EC-GN-P01:MHVPS_FLT" status="ENABLE"></channel>
<channel number="7" variable="EC-GN-P01:MHVPS_READY" label="EC-GN-P01:MHVPS_READY" status="ENABLE"></channel>
<channel number="8" variable="EC-GN-P01:ECPC_MOD" label="EC-GN-P01:ECPC_MOD" status="ENABLE"></channel>
<channel number="9" variable="EC-GN-P01:FAST_TRIP" label="EC-GN-P01:FAST_TRIP" status="ENABLE"></channel>
<channel number="10" variable="EC-GN-P01:CRIO_RV1" label="EC-GN-P01:CRIO_RV1" status="ENABLE"></channel>
<channel number="11" variable="EC-GN-P01:CRIO_RV2" label="EC-GN-P01:CRIO_RV2" status="ENABLE"></channel>
<channel number="12" variable="EC-GN-P01:CRIO_RV3" label="EC-GN-P01:CRIO_RV3" status="ENABLE"></channel>
<channel number="13" variable="EC-GN-P01:PLC_ITL" label="EC-GN-P01:PLC_ITL" status="ENABLE"></channel>
<channel number="14" variable="EC-GN-P01:PLC_STANDBY" label="EC-GN-P01:PLC_STANDBY" status="ENABLE"></channel>
<channel number="15" variable="EC-GN-P01:PLC_READY" label="EC-GN-P01:PLC_READY" status="ENABLE"></channel>
<channel number="16" variable="EC-GN-P01:PLC_ON" label="EC-GN-P01:PLC_ON" status="ENABLE"></channel>
<channel number="17" variable="EC-GN-P01:PLC_PERMIT" label="EC-GN-P01:PLC_PERMIT" status="ENABLE"></channel>
<channel number="18" variable="EC-GN-P01:PLC_OP_SELECTED" label="EC-GN-P01:PLC_OP_SELECTED" status="ENABLE"></channel>
<channel number="19" variable="EC-GN-P01:PLC_CC_OP_SELECTED" label="EC-GN-P01:PLC_CC_OP_SELECTED" status="ENABLE"></channel>
<channel number="20" variable="EC-GN-P01:PLC_SYNCMODE" label="EC-GN-P01:PLC_SYNCMODE" status="ENABLE"></channel>
<channel number="21" variable="EC-GN-P01:TRIGGER" label="EC-GN-P01:TRIGGER" status="ENABLE"></channel>
<channel number="22" variable="EC-GN-P01:BEAM_ON_STAT" label="EC-GN-P01:BEAM_ON_STAT" status="ENABLE"></channel>
<channel number="23" variable="EC-GN-P01:HVARMED" label="EC-GN-P01:HVARMED" status="ENABLE"></channel>
<channel number="24" variable="EC-GN-P01:HVINJECTION" label="EC-GN-P01:HVINJECTION" status="ENABLE"></channel>
<channel number="25" variable="EC-GN-P01:RFON" label="EC-GN-P01:RFON" status="ENABLE"></channel>
</channelsInfo>
</source>
<source name="DANDIODataSource_uint32">
<itemDanType>danUInt32</itemDanType>
<maxTransferRate>100000</maxTransferRate>
<advancedSource>
<dataModel>DM_BLOCK2D_VAR</dataModel>
<streamType>DATA_D0</streamType>
<checkPolicy>NO_CHECK</checkPolicy>
<queueSize>1000</queueSize>
<profMonitoring>1</profMonitoring>
<timeFormat>UTC</timeFormat>
<debug>
<srvChunkHeaderSize>20</srvChunkHeaderSize>
<srvChunkSize>10000</srvChunkSize>
<srvBufferSize>2</srvBufferSize>
</debug>
</advancedSource>
<deviceInfo>
<deviceName>DAQ</deviceName>
<deviceVersion>v1.0</deviceVersion>
<operationalMode>0</operationalMode>
<manufactureCode>0</manufactureCode>
</deviceInfo>
<channelsInfo sequence="SEQUENCIAL">
<channel number="0" variable="EC-GN-P01:PXI6528_Status" label="EC-GN-P01:PXI6528_Status" status="ENABLE"></channel>
<channel number="1" variable="EC-GN-P01:BEAM_ON_TIME" label="EC-GN-P01:BEAM_ON_TIME" status="ENABLE"></channel>
<channel number="2" variable="EC-GN-P01:RFON_TIME" label="EC-GN-P01:RFON_TIME" status="ENABLE"></channel>
</channelsInfo>
</source>
<danStreamer name="DANSTREAMER0">
<link>ALL</link>
<internal>
<danInterface>${DAN_INTERFACE_NAME}</danInterface>
<!-- GGC
<danInterface>eno1</danInterface>
-->
<servers>
<policy>IF_FAIL_NEXT</policy>
<server >${DAN_ARCHIVE_MASTER}</server>
<server >${DAN_ARCHIVE_SLAVE}</server>
<!-- GGC
<server>10.142.0.24</server>
<server>10.142.0.24</server>
-->
</servers>
</internal>
</danStreamer>
</ICprogram>
</danApi>

View File

@@ -42,5 +42,17 @@
SignalValue = 0 SignalValue = 0
} }
} }
+OpenDANWriterDIO = {
Class = Message
Destination = RTApp.Data.DANDIODataSource
Function = "OpenStream"
Mode = "ExpectsReply"
}
+OpenDANWriterAI = {
Class = Message
Destination = RTApp.Data.FastAnalogDAN
Function = "OpenStream"
Mode = "ExpectsReply"
}
} }
} }

View File

@@ -4,7 +4,7 @@
+Data = { +Data = {
+SynchThread = { +SynchThread = {
Class = RealTimeThreadSynchronisation Class = RealTimeThreadSynchronisation
Timeout = 0xFFFFFFFF Timeout = 100
Signals = { Signals = {
PXI6259_Status = { PXI6259_Status = {
Type = uint32 Type = uint32

View File

@@ -13,58 +13,54 @@
Calibrate = 1 // Optional (default is 0). If disabled the signals show raw acquired value (signal type must be int16). If enabled the samples already converted accordingly to the declared InputRange. In this case the signal type must be float32 Calibrate = 1 // Optional (default is 0). If disabled the signals show raw acquired value (signal type must be int16). If enabled the samples already converted accordingly to the declared InputRange. In this case the signal type must be float32
Signals = { Signals = {
Counter = {
Type = uint64
ResetOnBufferChange = 1
}
Time = {
Type = uint64
}
Status = { Status = {
Type = uint32 Type = uint32
NumberOfElements = @slow_clock
} }
GY_APS_V_MEAS = { GY_APS_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 0 ChannelId = 0
} }
GY_APS_I_MEAS = { GY_APS_I_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 1 ChannelId = 1
} }
GY_BPS_V_MEAS = { GY_BPS_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 2 ChannelId = 2
} }
GY_BPS_I_MEAS = { GY_BPS_I_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 3 ChannelId = 3
} }
GY_MHV_V_MEAS = { GY_MHV_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 4 ChannelId = 4
} }
GY_MHV_I_MEAS = { GY_MHV_I_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 5 ChannelId = 5
} }
GY_ARC1_V_MEAS = { GY_ARC1_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 6 ChannelId = 6
} }
GY_ARC2_V_MEAS = { GY_ARC2_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 7 ChannelId = 7
} }
GY_ARC3_V_MEAS = { GY_ARC3_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 8 ChannelId = 8
} }
GY_RF_V_MEAS = { GY_RF_V_MEAS = {
Type = float32 Type = float32
NumberOfElements = @slow_clock
ChannelId = 9 ChannelId = 9
} }
} }
@@ -89,7 +85,6 @@
Signals = { Signals = {
PXI6368_Status = { PXI6368_Status = {
Type = uint32 Type = uint32
NumberOfElements = @slow_clock
} }
GY_APS_V_MEAS = { GY_APS_V_MEAS = {
Type = float32 Type = float32
@@ -135,7 +130,7 @@
} }
+FastAnalogDAN = { +FastAnalogDAN = {
Class = "DAN::DANSource" Class = "DAN::DANSource"
NumberOfBuffers = 10 NumberOfBuffers = 1000
CPUMask = @cpus_adc CPUMask = @cpus_adc
StackSize = 10000000 StackSize = 10000000
DanBufferMultiplier = 4 DanBufferMultiplier = 4
@@ -315,37 +310,47 @@
InputSignals = { InputSignals = {
Status = { Status = {
DataSource = FastADC DataSource = FastADC
Frequency = 1 Frequency = 1000
} }
GY_APS_V_MEAS = { GY_APS_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_APS_I_MEAS = { GY_APS_I_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_BPS_V_MEAS = { GY_BPS_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_BPS_I_MEAS = { GY_BPS_I_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_MHV_V_MEAS = { GY_MHV_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_MHV_I_MEAS = { GY_MHV_I_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_ARC1_V_MEAS = { GY_ARC1_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_ARC2_V_MEAS = { GY_ARC2_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_ARC3_V_MEAS = { GY_ARC3_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
GY_RF_V_MEAS = { GY_RF_V_MEAS = {
DataSource = FastADC DataSource = FastADC
Samples = @slow_clock
} }
} }
OutputSignals = { OutputSignals = {
@@ -469,11 +474,9 @@
PXI6368_Status_Async = { PXI6368_Status_Async = {
Alias = PXI6368_Status Alias = PXI6368_Status
DataSource = DDB4 DataSource = DDB4
Ranges = { { 0, 0 } }
} }
PXI6368_Status = { PXI6368_Status = {
DataSource = DDB4 DataSource = DDB4
Ranges = { { 0, 0 } }
} }
GY_APS_V_MEAS_Async = { GY_APS_V_MEAS_Async = {
Alias = GY_APS_V_MEAS Alias = GY_APS_V_MEAS

View File

@@ -5,8 +5,8 @@
+DANDIODataSource = { +DANDIODataSource = {
Class = "DAN::DANSource" Class = "DAN::DANSource"
NumberOfBuffers = 10 NumberOfBuffers = 1000
CPUMask = 15 CPUMask = @cpus_dio
StackSize = 10000000 StackSize = 10000000
DanBufferMultiplier = 4 DanBufferMultiplier = 4
StoreOnTrigger = 0 StoreOnTrigger = 0

View File

@@ -35,9 +35,10 @@
#let dec_index: int = (@fast_slow_ratio - 1) #let dec_index: int = (@fast_slow_ratio - 1)
// CPUS pinning // CPUS pinning
#var cpus_epics: uint = 0x1 #var cpus_epics: uint = 0x8
#var cpus_sdn: uint = 0x2 #var cpus_sdn: uint = 0x10
#var cpus_rt: uint = 0x4 #var cpus_rt: uint = 0x20
#var cpus_adc: uint = 0x8 #var cpus_adc: uint = 0x40
#var cpus_dan: uint = 0x10 #var cpus_dio: uint = 0x80
#var cpus_wg: uint = 0x20 #var cpus_dan: uint = 0x100
#var cpus_wg: uint = 0x200

View File

@@ -10,18 +10,20 @@ if [[ ! -d ${FOLDER} ]]; then
mkdir -p ${FOLDER} mkdir -p ${FOLDER}
fi fi
rm -rf ${FOLDER}
mkdir -p ${FOLDER}
/bin/cp -rf ${SRC}/* ${FOLDER} /bin/cp -rf ${SRC}/* ${FOLDER}
cd ${FOLDER} cd ${FOLDER}
#make -f Makefile.cfg clean
#make -f Makefile.cfg
CFG_FILE=${FOLDER}/out/${CFG}.marte ./mdt build -P src -o ./out/${CFG}.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}
CFG_FILE=${FOLDER}/out/${CFG}.cfg
export DAN_INTERFACE_NAME=$(cat /etc/codac/networks | grep DAN_DEVICE | cut -d '=' -f 2)
export DAN_ARCHIVE_MASTER=4509dn-cpu-0002-d1:9998
export DAN_ARCHIVE_SLAVE=4509dn-cpu-0002-d1:9998
/opt/codac/bin/danApiTool api init ${FOLDER}/DAN_ACQ.xml
${MARTe2_DIR}/Bin/MARTeApp.ex -f ${CFG_FILE} -l RealTimeLoader -m StateMachine:Start ${MARTe2_DIR}/Bin/MARTeApp.ex -f ${CFG_FILE} -l RealTimeLoader -m StateMachine:Start
/opt/codac/bin/danApiTool api close all

View File

@@ -66,7 +66,8 @@ if [[ ${ok} != "0" ]]; then
rm -rf ${project_name}/* rm -rf ${project_name}/*
cp -rf ${project_name}-IN/* ${project_name}/ cp -rf ${project_name}-IN/* ${project_name}/
cp -rf ${project_name}-IN/.[^.]* ${project_name}/ cp -rf ${project_name}-IN/.[^.]* ${project_name}/
cp -rn tmp_resources/* ${project_name}/src/main/resources rm -rf tmp_resources/qst-gyrotron-fast-controller/Configurations
cp -rn tmp_resources/* ${project_name}/src/main/resources/
rm -rf tmp_resources rm -rf tmp_resources
# /bin/cp -rf /opt/codac/marte2-extensions/templates ${project_name,,}-sdd-in/SDD_IN/ # /bin/cp -rf /opt/codac/marte2-extensions/templates ${project_name,,}-sdd-in/SDD_IN/
# /bin/cp -f templates/* ${project_name,,}-sdd-in/SDD_IN/templates # /bin/cp -f templates/* ${project_name,,}-sdd-in/SDD_IN/templates
@@ -91,13 +92,12 @@ if [[ ${ok} != "0" ]]; then
# cat patches/EC-GN-P01-PCF0CORE_sddPreDriverConf.patch ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/sddPreDriverConf.cmd > sddPreDriverConf_patched.cmd # cat patches/EC-GN-P01-PCF0CORE_sddPreDriverConf.patch ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/sddPreDriverConf.cmd > sddPreDriverConf_patched.cmd
# mv -f sddPreDriverConf_patched.cmd ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/sddPreDriverConf.cmd # mv -f sddPreDriverConf_patched.cmd ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/sddPreDriverConf.cmd
# cat patches/EC-GN-P01-PCF0CORE_userPreDriverConf.patch ${project_name}/src/main/epics/iocBoot/iocEC-GN-P01-PCF0CORE/userPreDriverConf.cmd > userPreDriverConf_patched.cmd 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 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\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+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
echo OK
fi fi
cid=$((cid+1)) cid=$((cid+1))

View File

@@ -5,42 +5,42 @@
### PXIe-6368 setup ### PXIe-6368 setup
## AO Port ## ## AO Port ##
asynXseriesResetAoConfiguration("ni6368_0") #asynXseriesResetAoConfiguration("ni6368_0")
asynXseriesStaticAo("ni6368_0") #asynXseriesStaticAo("ni6368_0")
asynXseriesAddAoChannel("ni6368_0", 0, 0) #asynXseriesAddAoChannel("ni6368_0", 0, 0)
asynXseriesAddAoChannel("ni6368_0", 1, 0) #asynXseriesAddAoChannel("ni6368_0", 1, 0)
asynXseriesAddAoChannel("ni6368_0", 2, 0) #asynXseriesAddAoChannel("ni6368_0", 2, 0)
asynXseriesAddAoChannel("ni6368_0", 3, 0) #asynXseriesAddAoChannel("ni6368_0", 3, 0)
asynXseriesLoadAoConfiguration("ni6368_0") #asynXseriesLoadAoConfiguration("ni6368_0")
asynXseriesStartAo("ni6368_0") #asynXseriesStartAo("ni6368_0")
asynXseriesResetAoConfiguration("ni6368_1") #asynXseriesResetAoConfiguration("ni6368_1")
asynXseriesStaticAo("ni6368_1") #asynXseriesStaticAo("ni6368_1")
asynXseriesAddAoChannel("ni6368_1", 0, 0) #asynXseriesAddAoChannel("ni6368_1", 0, 0)
asynXseriesAddAoChannel("ni6368_1", 1, 0) #asynXseriesAddAoChannel("ni6368_1", 1, 0)
asynXseriesAddAoChannel("ni6368_1", 2, 0) #asynXseriesAddAoChannel("ni6368_1", 2, 0)
asynXseriesAddAoChannel("ni6368_1", 3, 0) #asynXseriesAddAoChannel("ni6368_1", 3, 0)
asynXseriesLoadAoConfiguration("ni6368_1") #asynXseriesLoadAoConfiguration("ni6368_1")
asynXseriesStartAo("ni6368_1") #asynXseriesStartAo("ni6368_1")
## AI Port ## ## AI Port ##
### PXI-6259 setup ### PXI-6259 setup
pxi6259_ai_start_trig(0, 1, 0, 0) #boardnumber, enable, trigger_source, trigger_edge #pxi6259_ai_start_trig(0, 1, 0, 0) #boardnumber, enable, trigger_source, trigger_edge
pxi6259_ai_start_trig(1, 1, 0, 0) #boardnumber, enable, trigger_source, trigger_edge #pxi6259_ai_start_trig(1, 1, 0, 0) #boardnumber, enable, trigger_source, trigger_edge
### PXI-6528 setup ### PXI-6528 setup
### set change detection to both ### set change detection to both
pxi6528_set_port_change_detection("ni6528_0", 0, 255, 255) #pxi6528_set_port_change_detection("ni6528_0", 0, 255, 255)
pxi6528_set_port_change_detection("ni6528_0", 1, 255, 255) #pxi6528_set_port_change_detection("ni6528_0", 1, 255, 255)
pxi6528_set_port_change_detection("ni6528_0", 2, 255, 255) #pxi6528_set_port_change_detection("ni6528_0", 2, 255, 255)
pxi6528_set_port_change_detection("ni6528_1", 0, 255, 255) #pxi6528_set_port_change_detection("ni6528_1", 0, 255, 255)
pxi6528_set_port_change_detection("ni6528_1", 1, 255, 255) #pxi6528_set_port_change_detection("ni6528_1", 1, 255, 255)
pxi6528_set_port_change_detection("ni6528_1", 2, 255, 255) #pxi6528_set_port_change_detection("ni6528_1", 2, 255, 255)
### enable IO intr mode ### enable IO intr mode
pxi6528_enable_io_intr_scanning("ni6528_0") #pxi6528_enable_io_intr_scanning("ni6528_0")
pxi6528_enable_io_intr_scanning("ni6528_1") #pxi6528_enable_io_intr_scanning("ni6528_1")