From dcf2c8a967a0bcc0863dc0f2032abf05e107985c Mon Sep 17 00:00:00 2001 From: Martino Ferrari Date: Fri, 6 Feb 2026 17:06:18 +0100 Subject: [PATCH] added signals --- .../Configurations/src/app_states.marte | 9 + .../Configurations/src/data/pxi.marte | 133 ++++++++ .../src/thread1/thread_data_broker.marte | 305 ++++++++++++++---- 3 files changed, 381 insertions(+), 66 deletions(-) diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte index a68d4bc..e9ead16 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte @@ -10,6 +10,7 @@ CPUs = @cpus_epics Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, MCPSGAM, PXIErrorGAM, @@ -73,6 +74,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, MCPSGAM, PXIErrorGAM, @@ -140,6 +142,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, WFRecordGAM, PreProgrammedGAM, @@ -208,6 +211,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, WFRecordGAM, PreProgrammedGAM, @@ -280,6 +284,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, PXIErrorGAM, FromWaitHVONToWaitStandby, @@ -345,6 +350,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, PXIErrorGAM, FromWaitHVONToWaitStandby, @@ -413,6 +419,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, PreProgrammedGAM, PXIErrorGAM, @@ -474,6 +481,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, PreProgrammedGAM, PXIErrorGAM, @@ -538,6 +546,7 @@ Class = RealTimeThread Functions = { SyncThreadConsumerGAM, + DecimateGAM, StateGAM, PXIErrorGAM, ResetErrorGAM, diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/pxi.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/pxi.marte index fffe14c..8cc990d 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/pxi.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/pxi.marte @@ -121,6 +121,139 @@ CRIO_RV3 = { Type = uint8 } + + PXI6259_Status_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint32 + } + PXI6528_Status_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint32 + } + PXI6683_Status_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PXI6683_PtpdStatus_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + GYA_APS_READY_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + GYA_APS_FLT_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + GYA_BPS_READY_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + GYA_BPS_FLT_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + MHVPS_OV_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + MHVPS_OC_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + MHVPS_FLT_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + MHVPS_READY_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + ECPC_MOD_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + FAST_TRIP_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_ITL_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_STANDBY_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_READY_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_ON_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_PERMIT_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_OP_SELECTED_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_CC_OP_SELECTED_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + PLC_SYNCMODE_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + TRIGGER_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + BEAM_ON_STAT_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + HVARMED_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + HVINJECTION_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + RFON_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + ELAPSED_TIME_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + BEAM_ON_TIME_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + SHOT_ID_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + CRIO_RV1_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + CRIO_RV2_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } + CRIO_RV3_SAMPLES = { + NumberOfElements = @fast_slow_ratio + Type = uint8 + } } } +DDB3 = { diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/thread_data_broker.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/thread_data_broker.marte index 3c09250..d2c6f04 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/thread_data_broker.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/thread_data_broker.marte @@ -140,171 +140,344 @@ Samples = @fast_slow_ratio } } + OutputSignals = { + PXI6259_Status_SAMPLES = { + DataSource = DDB1 + } + PXI6528_Status_SAMPLES = { + DataSource = DDB1 + } + PXI6683_Status_SAMPLES = { + DataSource = DDB1 + } + PXI6683_PtpdStatus_SAMPLES = { + DataSource = DDB1 + } + GYA_APS_READY_SAMPLES = { + DataSource = DDB1 + } + GYA_APS_FLT_SAMPLES = { + DataSource = DDB1 + } + GYA_BPS_READY_SAMPLES = { + DataSource = DDB1 + } + GYA_BPS_FLT_SAMPLES = { + DataSource = DDB1 + } + MHVPS_OV_SAMPLES = { + DataSource = DDB1 + } + MHVPS_OC_SAMPLES = { + DataSource = DDB1 + } + MHVPS_FLT_SAMPLES = { + DataSource = DDB1 + } + MHVPS_READY_SAMPLES = { + DataSource = DDB1 + } + ECPC_MOD_SAMPLES = { + DataSource = DDB1 + } + FAST_TRIP_SAMPLES = { + DataSource = DDB1 + } + PLC_ITL_SAMPLES = { + DataSource = DDB1 + } + PLC_STANDBY_SAMPLES = { + DataSource = DDB1 + } + PLC_READY_SAMPLES = { + DataSource = DDB1 + } + PLC_ON_SAMPLES = { + DataSource = DDB1 + } + PLC_PERMIT_SAMPLES = { + DataSource = DDB1 + } + PLC_OP_SELECTED_SAMPLES = { + DataSource = DDB1 + } + PLC_CC_OP_SELECTED_SAMPLES = { + DataSource = DDB1 + } + PLC_SYNCMODE_SAMPLES = { + DataSource = DDB1 + } + TRIGGER_SAMPLES = { + DataSource = DDB1 + } + BEAM_ON_STAT_SAMPLES = { + DataSource = DDB1 + } + HVARMED_SAMPLES = { + DataSource = DDB1 + } + HVINJECTION_SAMPLES = { + DataSource = DDB1 + } + RFON_SAMPLES = { + DataSource = DDB1 + } + ELAPSED_TIME_SAMPLES = { + DataSource = DDB1 + } + BEAM_ON_TIME_SAMPLES = { + DataSource = DDB1 + } + SHOT_ID_SAMPLES = { + DataSource = DDB1 + } + CRIO_RV1_SAMPLES = { + DataSource = DDB1 + } + CRIO_RV2_SAMPLES = { + DataSource = DDB1 + } + CRIO_RV3_SAMPLES = { + DataSource = DDB1 + } + } +} + ++DecimateGAM = { + Class = IOGAM + InputSignals = { + PXI6259_Status_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PXI6528_Status_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PXI6683_Status_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PXI6683_PtpdStatus_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + GYA_APS_READY_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + GYA_APS_FLT_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + GYA_BPS_READY_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + GYA_BPS_FLT_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + MHVPS_OV_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + MHVPS_OC_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + MHVPS_FLT_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + MHVPS_READY_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + ECPC_MOD_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + FAST_TRIP_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_ITL_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_STANDBY_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_READY_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_ON_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_PERMIT_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_OP_SELECTED_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_CC_OP_SELECTED_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + PLC_SYNCMODE_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + TRIGGER_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + BEAM_ON_STAT_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + HVARMED_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + HVINJECTION_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + RFON_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + ELAPSED_TIME_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + BEAM_ON_TIME_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + SHOT_ID_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + CRIO_RV1_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + CRIO_RV2_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + CRIO_RV3_SAMPLES = { + DataSource = DDB1 + Ranges = { { @dec_index, @dec_index } } + } + } OutputSignals = { PXI6259_Status = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PXI6528_Status = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PXI6683_Status = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PXI6683_PtpdStatus = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } GYA_APS_READY = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } GYA_APS_FLT = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } GYA_BPS_READY = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } GYA_BPS_FLT = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } MHVPS_OV = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } MHVPS_OC = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } MHVPS_FLT = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } MHVPS_READY = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } ECPC_MOD = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } FAST_TRIP = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_ITL = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_STANDBY = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_READY = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_ON = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_PERMIT = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_OP_SELECTED = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_CC_OP_SELECTED = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } PLC_SYNCMODE = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } TRIGGER = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } BEAM_ON_STAT = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } HVARMED = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } HVINJECTION = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } RFON = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } ELAPSED_TIME = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } BEAM_ON_TIME = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } SHOT_ID = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } CRIO_RV1 = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } CRIO_RV2 = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } CRIO_RV3 = { DataSource = DDB1 - NumberOfElements = @fast_slow_ratio - Ranges = { { @dec_index, @dec_index } } } } }